pytest 基础用法

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值