就是那么轻松的测试框架pytest下
断言
如果没有断言,你的自动化将毫无意义。关键字assert,左右两边放上预期结果和实际结果进行对比。
deftest_add(self): a = 1assert a==2
收集和运行用例
相比于unittest,pytest不需要另写代码去收集测试用例。使用命令将自动收集测试用例。
pytest [参数]
pytest中自动收集用例的机制是怎样的呢?
- 目录:pytest命令在哪个目录下运行,就以哪个目录为根目录向下收集
- 文件名:命名符合test_xxx.py或者xxx_test.py的文件
- 函数/类下方法:函数名以test_开头、以Test_开头的类下的test_开头的方法
当你写测试用例时,遵循以上几点,即会被自动收集。
使用命令行:pytest -v -s 或在python文件使用:pytest.main(["test_case/test_login_page.py","-v","-s"])会进行收集、运行用例。
生成测试报告
pytest可以使用插件 pytest-html、allure都能在运行完成后生成测试报告。
安装插件:pip install pytest-html
通过命令生成测试报告:pytest.main(["test_case/test_login_page.py","-v","-s","--html=report/test.html"])
如果喜欢颜值高的可以使用allure插件。
pytest常用插件
除了上面提到的测试报告插件,实际应用中使用比较多的有:多重断言插件、失败重跑插件。
多重断言pytest-assume:
如果一个用例中有多个断言,在一个断言失败后,pytest原生断言assert是不会继续执行其他断言了。而使用pytest-assume可以继续执行下面的断言。
安装:pip install pytest-assume
-
# 原生断言
-
def test_assume1(self):
-
assert 1==2
-
assert 1==3
-
# 断言插件
-
def test_assum2(self):
-
pytest.assume(1==2)
-
pytest.assume(1 ==3)
assert断言遇到断言失败不会再执行下个断言:
pytest.assume断言遇到断言失败还会继续执行下个断言:
失败重跑pytest-rerunfailures:
安装:pip install pytest-rerunfailures
使用:pytest test_class.py --reruns 5 --reruns-delay 1 -vs (失败后重新运行5次,每次间隔1秒)
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhggbbkk
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01