天天看点

ui自动化__unittest单元测试框架

unittest单元测试框架(python中自带单元框架)

一、unittst框架的作用

当我们写的用例越来越多时,我们就需要考虑用例编写的规范与组织,以便于后期的维护,而unittest正是这样一款工具

二、unittest是python自带的标准库中的模块,其中包括:

1、testcase类   (测试用例)

2、testsuite类  (测试套件)

3、testloader类(搜索测试路径)

4、texttestrunner类(run(test))

5、texttestresult类(测试结果)

6、testfixture类(setup  和 tear down)

解释下:

testcase:

一个testcase的实例就是一个测试用例,测试用例就是一个完整的测试流程,包括初始化setup、运行run、测试后的还原teardown

testsuite:

对一个功能的测试往往需要多个测试用例的,可以把多的测试用例集合在一起执行,这就是testsuite的概念。常用addtest()方法将一个测试用例添加到测试套件中

texttestrunner:

是用来执行测试用例的,其中的run(test)用来执行testsuite/testcase。

texttestresult:

测试的结果会保存在texttestresult实例中

testfixture:

测试准备前要做的工作和测试执行完后要做的工作.包括setup()和teardown()。通过覆盖testcase的setup和teardown来实现。

testloader:

是用来搜索所有以test开头的测试用例,然后将其加入到testsuite中

图形化解释:如下图

三、框架的组成

在写测试类以及测试用例时要规定一个命名习惯,一般测试类可以以test开头,也可以以test结尾。测试用例一般是以test开头。

eg:结构如下:

import unittest #导入unittest包

#创建测试类:从unittest.testcase继承

classromannumeralconvertertest(unittest.testcase):

def setup(self): #初始化测试环境

def teardown(self): #还原测试环境

def test_case(self):测试用例

====================================================

四、

讲解内容

(1)unittest作用?

  unittest  单元测试框架  是用来管理和组织测试用例,方便后期维护

(2)市场常见的测试单元测试框架?

unittest  (自带标准库) 、pytest (第三库)

(3)unitttest 单元测试框架结构

案例1:框架第一种方法:

类的开始

.....

方法开始

----------------------------------------------------------------------

1111

ran 5 tests in 0.000s

方法结束

ok

2222

3333

a

类的结束

备注:1、unittest 运行的顺序:1-9,大写字母,小写字母

2、运行用例必须是test开头

3、每一次用例执行,放的开始和结束都会执行一次

4、类的开始和类的结束只执行一次

============================================

案例2: 执行部分用例(指定的用例)

案例3:执行一个路径下所有所有用例

案例4:使用报告模板生成测试报告

案例5:结合实际案例编写ui自动化单元测试框架