1.pytest 安装命令:pip install pytest
2.pytest 文件名规范:
1).py 测试文件必须以“ test_” 开头(或“ _test” 结尾)
2)测试方法必须以“ test_” 开头
3)测试类必须以 Test 开头,并且不能有 init 方法
3.pytest 常用断言:
代码:
4.pytest-assume第三方插件使用
1)插件安装命令: pip install pytest-assume
2)使用pytest.assume,遇到断言错误会继续执行下面的断言
代码:
test_no_assume中第一个断言assert 1 > 2 失败后,后面的代码不会执行,test_assume中pytest.assume('a' not in 'abc')断言失败后,会继续执行下面的代码。
5.pytest+selenium练习
代码:
6.pytest使用配置项配置运行目录
1)在项目根目录下建立一个文件pytest.ini
2) pytest.ini配置内容如下:
===配置到文件===
在控制台(项目根目录)录直接输入命令pytest,系统会自动执行test_three.py里的所有测试用例
===配置到目录===
在控制台(项目根目录)录直接输入命令pytest,系统会自动执行pytest_learn文件夹里的所有测试用例
7.pytest使用markers标记
1)执行特定的测试用例,例如一些测试用例只能在测试环境跑,生产环境不能跑的,可以用markers来区分
2)执行命令pytest -m xxx,xxx就是下图设置的prod/test/dev
3) 先要在pytest.ini配置文件中配置markers如下图
4)然后在pytest_learn包下的test_one.py文件做markers配置,代码如下图
5)在控制台执行命令pytest -m test,只会执行@pytest.mark.test的测试用例,其他都不会执行
6)执行结果如下图所示,pytest_learn下面11个测试用例,只执行了test_one.py里标记为test的测试用例
7)pytest.ini文件中加入配置addopts:-m prod,这样在控制台直接敲命令pytest就会自动执行
标记为@pytest.mark.prod的测试用例,没有配置addopts的话,控制台命令就必须要输入pytest -m prod才行哦
8.pytest使用关键字匹配
1)执行用例包含“关键字”的用例,例如执行pytest -k xxx命令,package名含 xxx的package下的所有测试用例会被执行,module名含xxx的module下的所有测试用例会被执行,class名包含xxx的class下的所有测试用例会被执行,testcase名包含xxx的testcase都会被执行
2)操作在控制台执行pytest -k xxx命令即可,如下图所示,控制台输入pytest -k one,会将找到
test_one.py文件,并执行里面的所有测试用例
9.pytest使用-q,-v,-s配置
执行下图的test_one.py文件
1)pytest -q 来执行测试用例时,控制台打印信息较为简洁,如下图所示,绿色字体部分
2)pytest -v来执行测试用例时,控制台打印信息较为详细,如下图所示
3)pytest -s 来执行测试用例时,控制台会输出我们Print语句内容,注意蓝色底色test 1和test 2是
测试用例中的print信息
4)参数可以结合使用,例如pytest -vs,控制台可以打印两者结合的信息,如下图所示
10.pytest自定义运行顺序
1)默认执行顺序,多个py文件按照py文件名字按ASCII码顺序执行,py文件中多个测试用例,就是从上到下的顺序执行
2)使用第三方插件pytest-ordering自定义执行顺序
首先安装插件,命令: pip install pytest-ordering
3)测试用例定义顺序,用例或者Class上加@pytest.mark.run(order=xxx),xxx是数字,如下图代码所示
执行结果如下图是按照order从小到大的顺序执行(在此之前是按照默认从上到下执行的)
11.pytest之setup_module,teardown_module