一 手工测试用例与自动化测试用例的对比
二自动化测试用例的实现
===========================================================================
手工/自动化测试用例对比:
自动化测试用例注重点:
1.不是所有的手工用例都要转换成自动化测试用例
2.考虑到脚本开发成本,需要和人工测试用例成本做对比
3.最好是通过场景来设计测试用例,可抽出page模块,执行case,便于开发和维护
==========================================================================
自动化测试用例的实现:
PO设计模式回顾:
1.与web自动化的PO设计模式无太大差别
2.PO设计模式的优点:减少代码重复性、提高测试用例的可读性、提高测试用例的可维护性
回顾unittest框架:
1.unittest框架是python自带的单元测试框架
2.setUp方法用于测试用例执行前的初始化工作
3.tearDown方法用于释放驱动
4.在用例中使用断言方法判断用例是否执行成功
5.unittest.main方法,用于执行单元测试模块脚本
6.框架入口main.py文件中写入discover方法用于执行所有的测试用例脚本
导入unittest,测试类继承unittest.Testcase
初始化工作:
def setUp(self):
self.obj = indexPageClass()
self.obj.wait()
释放驱动:
def tearDown(self):
self.obj.exit()
用例编写:
def test_1(self):
self.obj.search_operator(‘111‘)
def test_2(self):
self.obj.search_operator(‘‘)
def test_3(self):
self.obj.search_operator(‘@@@@@@@‘)
def test_4(self):
self.obj.search_operator(‘<script>alert(1)</script>‘)
discover用例集合运行:
dir =r‘./testCases‘
discover=unittest.defaultTestLoader.discover(dir,pattern=‘*.py‘)
if __name__ == ‘__main__‘:
runner=unittest.TextTestRunner()
runner.run(discover)