UnitTest测试框架
UI自动化测试主要测试的是:
1、表单的错误提示信息验证
2、产品的业务逻辑
单元测试是最基本的也是最低层的测试类型
在Python中,单元测试框架主要是unittest
测试金字塔模型
1、初始化
2、测试 步骤
3、断言(关键字:assert)必须要有断言
4、清理
UnitTest组件:
测试用例:TestCase
测试套件:TestSuite:在一个测试套件里面可以包含很多的测试用例,可以把它理解为一个容器
测试固件:初始化setUp(),清理tearDown()
测试执行:TestRunner:测试执行指的是针对测试套件或者是测试用例进行执行的过程
测试报告:TestReport:所有的测试测试用例执行完成后输出的汇总结果报告信息
在测试类里面编写的测试方法必须是test开头的
类测试固件:指的是不管一个测试类里面有多少个测试用例,测试固件只执行一次,缺点是执行完一个测试用例后,需要回归到页面的初始化,需要加上刷新
测试用例执行顺序详解
编写测试用例注意事项
1、在一个测试类里面,每一个测试方法都是以test开头的,test不能是中间或者尾部,必须是开头,建议test_
2、每一个测试用例方法都应该有注释信息,这样在测试报告就会显示具体的测试点的检查点
3、在自动化测试中,每个测试用例都必须得有断言,无断言的自动化测试用例是无效的
4、最好一个测试用例方法对应一个业务测试点,不要多个业务检查点写一个测试用例
5、如果涉及到业务逻辑的处理,最好把业务逻辑的处理方法放在断言前面,这样做的目的是不要因为业务逻辑执 行错误导致断言也是失败
6、测试用例名称最好规范,有约束
7、是否先写自动化测试的测试代码,在使用自动化测试方式写,本人觉得没必要,毕竟能够做自动化测试的都具 备了功能测试的基本水平,所以没必要把一个业务的检查点写多次,浪费时间和人力成本。
自动化测试流程:
1、先梳理哪些模块可以做自动化测试
2、梳理完成后,和相关的人建议对下计划以及梳理的结果
3、编写代码实现梳理的测试模块
4、编写完成后,和相关的人进行评审代码(测试场景是否考虑周全,测试断言是否合理,代码编写的是否合理)
5、编写完成后,整合到Jekins的持续集成平台
6、下个迭代的时候,直接可以应用于产品的回归测试中
start_dir
参数化
参数化:相同的测试步骤,不同的测试数据,那么这样的测试场景我们就可以使用 参数化的解决思路来解决。也就是说使用一个测试用例的代码,执行多个测试场景
参数化本质:对测试数据进行循环,每次循环的时候对列表中的元素的值--赋值的过程
测试报告
unittest生成测试报告需要使用到第三方的库HTMLTestRunner,把该库放在Python安装目录下的lib目录下。C:\python3\Lib