一、核心要素
(1)TestCase 测试用例
一个.py脚本就是一个测试用例 测试用例类必须继承于unittest.TestCase 类中的方法名必须以test开头,否则不会被执行 类的外部写main方法(自测代码)
(2)TestSuite 测试套件
测试套件就是测试用例的集合 把多个测试用例集合到一起就构成了测试套件 测试套件不能直接执行
(3)TextTestRunner 测试执行
用来执行测试套件
(4)Fixture 概述,包含两个方法setUp()、tearDown()
在继承unittest.TestCase的前提下,Fixture = setUp()+tearDown()
setUp()负责测试环境的搭建(初始化):实例化浏览器、最大化、隐式等待、打开url tearDown()负责测试环境的销毁:退出登录、退出浏览器等
每一个以test开头的方法被执行之前都会先执行setUp()方法,然后执行test_XXX()方法,最后执行tearDown()方法
二、自动化测试脚本
(1)导入测试框架 import unittest
(2)格式:
class 类名(unittest.TestCase):
def setUp():
def tearDown():
def test_xxx():
(3)注意:
①测试用例中方法名必须以test开头,否则不会被执行。
②记得要在类的外部写main方法,
③光标放在代码后面的空白行或者mian()方法的位置执行
④如果把光标放在某一个方法名后面执行,只能执行当前一个方法
⑤多个方法,按照方法名ASCII的顺序执行
(4)self.driver 扩大driver的作用域,让它在其他方法中可以调用
三、自动化脚本批量执行
(1)单个用例是无法批量执行的,只有把多条测试用例组合成测试套件,才可以批量执行
(2)生成测试套件
①实例化TestSuite一个空的测试套件,给套件添加测试用例(方法)
suite = unittest.TestSuite()
②addTest(类名(方法名)):添加指定类中的指定方法
③addTest(unittest.makeSuite(类名)):添加指定类中所有以test开头的方法
(3)执行测试套件:实例化TextTestRunner,然后调用run()执行测试套件
(4)执行结果
四、defaultTestLoader
实际项目中,主要通过discover生成测试套件,可以把defaultTestLoader看做是TestSuite的一种特殊实现方式 。defaultTestLoader中有一个方法discover(),可以在指定目录中搜索指定开头的.py文件,把测试类中所有以test开头的方法添加到测试套件中。格式:discover(指定目录, 指定.py文件开头) 一般,会把套件.py文件和用例放在同一个目录,否则可能导致截图失败,且和测试用例.py文件开头不能相同
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182076.html原文链接:https://javaforall.cn