web自动化测试Day5
目标
- UnitTest框架基本使用
- fixture
- 断言
- html测试报告
UnitTest框架
白盒测试,对程序源代码进行测试。python自带的一种单元测试框架
核心要素
- TestCase用例
- TestSuite套件,把用例装进来
- TestRunner以文本形式运行测试用例
- TestLoader批量执行测试用例-搜索指定文件夹内指定字母开头的模块(推荐)
- Fixture固定装置,一个初始化使用一个结束时候使用
测试用例!!!
测试套件
控制测试用例的执行顺序,testsuit中也可以包含testsuit
.代表一个测试通过
写法2:所有以test开头的
suite.addTest(unittest.makeSuite(Test02))
测试加载TestLoder!!!
批量执行指定测试方法
解决上述问题,搜索指定目录下指定开头的py文件,在py文件中搜索test开头测试方法,并且将这些方法添加到测试套件中
#调用方法
unittest.TestLoader().discover("../cases")
#扩展
unittest.TestLoader().discover("../cases",pattern='tpshop*.py')//目录+指定字母开头的模块文件
#执行套件方法TextTestRunner
unittest.TextTestRunner().run(suite)
TestLoder与TestSuite区别
都是测试套件
Fixture装置
fixture是两个函数,可以一起使用也可以单独使用
1.初始化函数 def setUp()
2.结束函数 def tearDown()
类方法必须用@classmethod来修饰 类级别只运行一次,函数级别运行次数为测试例子的个数
类方法用到的多,因为类比打开浏览器,打开一次即可
assert断言
程序代替人为判断测试程序执行结果是否符合预期结果的过程
断言案例
扩展断言
1.可以像上面一样使用unittest框架中的断言
2.使用python自带断言