执行入口:
1、直接cmd命令窗口;
2、Pycharm大开工程,下面找到Terminal进入,需要输入相应的模块路径;
3、py模块右击-直接进入Terminal(方便)。
执行命令
全量执⾏,执⾏测试包下所有的测试模块:pytest -v
执⾏某⼀个测试模块:pytest -v 测试模块名称
执⾏模块下的测试函数:pytest -v 测试模块::测试函数
执⾏模块下测试类⾥⾯的测试⽅法:pytest -v 测试模块::测试类::测试⽅法
pytest与WebDriver:pytest -v 测试模块 --driver Chrome(指定测试的浏览器)
命令行参数(重点)
查看命令行参数的使用:pytest -h(--help)
1. -v:输出详细的信息
2. -s: 输出测试函数或者测试方法里面的print()的内容
3. -k:按分类执行测试点
4. -m:进行分组
5. -x:执行失败立即停止(后面的测试函数/方法不执行)
6. --maxfail:执行失败的最大次数(如果只有一个失败的--maxfail=1,后面的代码不执行,--maxfail=2执行后面的代码)
7. --tb=no:关闭信息
8. --tb=short:只输出assert的错误信息(会提示具体的函数以及错误代码)
9. --tb=line:一行行展示所有错误信息的位置(不会提示具体函数,但是会提示断言失败的位置)
10. --lf:定位错误
11. --ff:遇到错误继续执行
12. --duration=0:测试函数执行速度。新版应该是--durations=0,见问答错误https://q.cnblogs.com/q/141852/
1 ''' 2 pytest -v xx.py 3 pytest -v xx.py::test_001 4 pytest -v -s xx.py 5 pytest -v -k 'login or logout' xx.py 6 pytest -v -m login xx.py 7 pytest -v -k 'login or ui' xx.py 8 pytest -v -x xx.py 9 pytest -v --maxfail=2 xx.py 10 pytest -v xx.py --tb=no 11 pytest -v xx.py --tb=short 12 pytest -v xx.py --tb=line 13 pytest -v xx.py --tb=line 14 pytest -v --lf xx.py 15 pytest -v --ff xx.py 16 pytest -v --durations=0 xx.py 17 ''' 18 19 @pytest.mark.xxapi#进行分组 20 def test_xx(): 21 assert 1==1
13.pytest -v xx.py --driver Chrome:指定Chrome运行xx.py模块
2022-10-6笔记