一、pytest简介
1.基于python的单元测试框架,它可以和selenium,requests,appium结合实现自动化
测试。
2.实现用例跳过skip和reruns失败用例重跑。
3.它可以结合allure-pytest插件生成allure报告。
4.很方便和jenkins实现持续集成。
5.有很多强大的插件:
pytest-html 生成html测试报告。
pytest-xdist 多线程执行测试用例。
pytest-ordering 改变测试用例的执行顺序。
pytest-rerunfailures 失败用例重跑
allure-pytest 生成allure报告。
二、pytest的最基本的测试用例的规则
1.模块名必须以test_开头或者_test结尾。
2.测试类必须以Test开头,并且不能带有init方法。
3.测试用例必须以test_开头。
命令规范:
模块名:一般全小写:多个英文之间用_隔开。
类名:类名一般是首字母大写
方法名:一般全小写:多个英文之间用_隔开。
三、运行方式
1.主函数模式
常见参数:
-v:输出更加详细的信息。比如文件和用例名称等。
-s:输出调试信息。打印信息等。
可以合并成:-vs
–reruns=数字:失败重跑
-x 出现1个失败就停止测试。
–maxfail=2 出现N个失败就终止测试。
–html=report.html 生成html的测试报告
-n=2:多线程。
-k:运行测试用例名称中包含指定字符串的用例。
pytest.main([’-vs’,’-k’,‘weiwei or baili’])
pytest.main([’-vs’,’-k’,‘weiwei and baili’])
忽略这个告警:PytestAssertRewriteWarning: Module already imported so cannot be rewritten: pytest_rerunfailures
self._mark_plugins_for_rewrite(hook)
2.指定模块运行。
3.指定文件夹
if __name__ <