unittest

python+unittest框架第一天,简单认识

非 Y 不嫁゛ 提交于 2019-11-27 08:37:51
20万的慢慢会实现的吧,hhh unittest框架,我就不在介绍了,百度有很详细的介绍。 我们只要了解: 1、unittest是单元测试框架 2、它提供用例组织与执行:在实际工作中案例可能有上百条,我们就需要进行用例的组织以及规范,增强代码的可维护性等 3、它提供丰富的比较方法:相等\不相等,包含\不包含,True\False的断言方法等等 4、提供丰富的日志:例如,总执行时间、失败用例数、成功用例数等 这就是别人造好的车,我们直接开。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 unittest组成部分: TestCase:测试用例,测试用例里面会有很多测试方法,是单元测试中最小维度的测试行为 Test Fixure:测试固件,测试固件是执行测试时的准备工作和收尾工作(打开和关闭浏览器,链接和关闭数据库等等) TestSuite:测试套件,是测试用例的集合 TestRunner:测试运行器,运行测试用例 TestReport:将测试结果呈现给用户,生成测试报告 接下来我们一点一点的学习,上面是大概整体的了 TestCase类中定义的方法: setUp(): ------> 该方法:进行测试前的初始化工作 tearDown(): ------> 该方法:进行执行测试后的清除工作(比如关闭浏览器) 我们看下代码: 1 import unittest

关于面试总结12-接口自动化面试题

删除回忆录丶 提交于 2019-11-27 04:57:49
转载: https://www.cnblogs.com/yoyoketang/p/10220061.html 关于面试总结12-接口自动化面试题 前言 前面总结了一篇关于接口测试的常规面试题,现在接口自动化测试用的比较多,也是被很多公司看好。那么想做接口自动化测试需要具备哪些能力呢? 也就是面试的过程中,面试官会考哪些问题,知道你是不是真的做过接口自动化测试?总的来说问的比较多的就是以下几个问题: 1.json和字典的区别? -对基础数据类型的考察 2.测试的数据你放在哪? -数据与脚本分离 3.参数化 - 数据驱动模式 4.下个接口请求参数依赖上个接口的返回数据 - 参数关联 5.依赖于登录的接口如何处理 -token和session的管理 6.依赖第三方的接口如何处理 -mock模拟数据返回 7.不可逆的操作,如何处理,比如删除一个订单这种接口如何测试 -造数据 8.接口产生的垃圾数据如何清理 - 数据清理 9.一个订单的几种状态如何全部测到,如:未处理,处理中,处理失败,处理成功 - 造数据,改数据库订单状态 10.python如何连接数据库操作? 11.其它的就是运行出报告、代码管理(git)、运行策略和持续集成jenkins相关了 1.json和字典dict的区别? 现在自动化培训烂大街,是个人都能说的上几个框架,面试如果问框架相关问题,求职者只需一瓶82年的雪碧

python+selenium自动化框架

五迷三道 提交于 2019-11-27 04:56:06
---恢复内容开始--- 主要使用的模块: selenium/webdriver模块(须准备Chrome驱动),主要用于调用浏览器实现自动点击。 unittest模块,主要用于整合测试用例。 xlrd模块,主要用于调用Excle获取测试数据。 HTMLTestRunnerCN模块,主要用于生成测试报告。 框架分层思路: 常用函数层 测试数据层 测试元素层 测试用例层 测试结果层 详细解释层级划分:   一、常用函数层:主要写常用的一些类,方便后面调用,如:selenium调用浏览器、读取URL的EXCEL、读取用户数据的EXCEL等   二、测试数据层:主要存放一些用户数据/URL/测试数据等到EXCEL中方便后续调用 我这里存放的主要有: 测试网站的URL。 项目中不同权限用户的用户名和密码 常用配置文件信息   三、测试元素层:主要存放一些较长的Xpath和Css定位路径,使后续脚本简洁   四、测试用例层:主要使用unittest模块 创建测试用例: class Test(unittest.TestCase): def setUp(self): self.flag = 1 self.ca = function.OpenChrome() self.br = function.OpenChrome().open() self.xpath = element.Element()

Python系列之初识unittest

十年热恋 提交于 2019-11-27 04:55:01
unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果。有关python和unittest的基础知识部分就不细说了,大家可自行百度进行深入了解哦,以下是整个unittest四个比较重要的概念。 test fixture test case test suite test runner test fixture:简单来说就是做一些测试过程中需要准备的东西,比如创建临时的数据库、文件和目录等,其中 setUp() 和 setDown() 是最常用的方法。 test case:用户自定义的测试case的基类,调用run()方法,会依次调用setUP方法、执行用例的方法、tearDown()方法。 test suite:测试用例集合,可以通过addTest()方法手动增加Test Case,也可通过TestLoader自动添加Test Case,TestLoader在添加用例时,会没有顺序。 test runner:运行测试用例的驱动类,可以执行TestCase,也可执行TestSuite。执行后TestCase和Testsuite会自动管理TestResult。 下面贴上简单unittest的示例代码: import unittest import

python学习第9天笔记

*爱你&永不变心* 提交于 2019-11-26 20:56:24
1 编程错误类型 1.1 语法错误,比如引号没有成对出现,少了逗号等,系统会抛出Syntaxerror 1.2 语义错误,比如除数为0 1.3 逻辑错误 2 异常处理 2.1 示例 f = open(‘test.txt’) try: f.read() except: print(‘文件操作异常’) finally: f.close() 2.2 finally通常用于需要释放资源的场合,比如示例中的文件操作,还有就是数据库的操作 2.3 raise 用于手动抛出异常 2.4 except使用中可以指定异常并进行处理,比如 except 异常类型1 as 实例1: 处理1 except 异常类型2 as 实例2 处理2 2.5 else用于全部正常时的处理 3 测试 3.1 测试步骤 3.1.1导入测试单元 import unittest 3.1.2导入要测试的方法或类 from 模块 import 方法 3.1.3建立测试类 class TestMethod(unittest.testcase) 3.1.4建立测试方法,约定俗成的,这个方法总是以test开头,方法中引入unittest模块自带方法 def test_method_uu():   变量 = 方法()   self.内置方法(变量,实际值) 3.1.5运行测试程序 if __name__ == ‘__main__’:

Python-34-单元测试

倖福魔咒の 提交于 2019-11-26 19:53:43
【= 看project_unittest项目 =====】 unittest核心工作原理 unittest中最核心的四个概念是:test case(测试用例),test suite(测试集),test runner,test fixture 一个TestCase的实例就是一个测试用例。什么是测试用例呢?就是一个完整的测试流程,包括测试前准备环境的搭建(setUp),执行测试代码(run),以及测试后环境的还原(tearDown)。元测试(unit test)的本质也就在这里,一个测试用例是一个完整的测试单元,通过运行这个测试单元,可以对某一个问题进行验证。 而多个测试用例集合在一起,就是TestSuite,而且TestSuite也可以嵌套TestSuite。 TestLoader是用来加载TestCase到TestSuite中的,其中有几个loadTestsFrom__()方法,就是从各个地方寻找TestCase,创建它们的实例,然后add到TestSuite中,再返回一个TestSuite实例。 TextTestRunner是来执行测试用例的,其中的run(test)会执行TestSuite/TestCase中的run(result)方法。 测试的结果会保存到TextTestResult实例中,包括运行了多少测试用例,成功了多少,失败了多少等信息。

python自动化测试框架unittest

孤者浪人 提交于 2019-11-25 20:15:52
  对于刚学习python自动化测试的小伙伴来说,unittest是一个非常适合的框架; 通过unittest,可以管理测试用例的执行,自动生成简单的自动化测试报告;   首先我们尝试编写编写一个最简单的unittest用例;   其中,新建一个测试类,继续unittest框架的TestCase类; #encoding=utf-8 import unittest class TestUnit(unittest.TestCase): #编写测试用例 def test_case1(self): print("case1") def test_case2(self): print("case2") if __name__ == "__main__": unittest.main()   运行该代码,会得到以下结果;   最上方的2个点,代表执行成功了2条测试用例;下方打印了用例的执行结果;   接下来,我们尝试加入测试集合Suite,管理多个类的测试用例的运行;   小伙伴们可以尝试用不同的方法添加用例到测试集合suite中,笔者只列举了其中2种; #encoding=utf-8 import unittest class TestUnit(unittest.TestCase): #编写测试用例 def test_case1(self): print("case1") def test