pytest测试套总结

测试套规划

按照测试阶段划分,不同的测试版本划分,按照软件的功能模块划分

如何指定测试的内容

分为:mark标签模式,skipif模式,pytest.ini配置文件模式,pytest命令行模式

一.mark标签模式

执行少量的测试内容,被标记的执行。@pytest.mark.smoke 说明:若标签没在pytest.ini中进行说明,会有警告。如何说明,参考下面配置文件pytest.ini如何使用部分。

二.pytest的skipif模式

不执行少量测试内容。@pytest.mark.skipif(conditon=='冒烟',reason='不执行该测试'.当满足参数1的条件时,执行。==也可以是满足!=关系。参数2可以不写,如果要想打印,输出reason,执行时加上-rs

三.pytest.ini配置文件模式

在驱动文件中执行main方法时,程序会首先读取ini文件的设置,命令行执行同理,所以命令行执行时,会执行的是ini文件和命令行指定运行文件的并集

addopts是执行文件时选项

testpaths 是指定运行的路径/文件名

python_files 是指定运行的文件名,包含所有test_flow_add开头的文件

python_classes是运行对应的类

python_functions是运行指定的方法,可以不以test开头,如上图举例。

以上的指定路径运行是从上往下包含的,下受上的范围限制,如果不想被影响,注释掉上级范围

补充:如果有多个标签,如何运行?

答:在pytest.ini文件中进行多个说明,例如上图,增加标签@pytest.mark.smoke2后,在ini文件添加“smoke2:冒烟测试”。然后驱动文件中main加上参数‘-m 标签名1 or 标签名2’如下

import pytest
if __name__ == '__main__':
    pytest.main(['-m smoke1 or smoke2'])

 四.pytest命令行方式

方式1.执行全部当前文件下的所有测试   pytest

方式2.指定路径

pytest ./路径名称

或者 pytest ./路径名称 -k 关键字

命令行可以执行指定路径下含有关键字内容的所有文件或类或方法

例如 pytest ./test_script -k 'add' 就会执行所有的包含add的文件或类或方法

但是pytest.ini文件的指定名称只能支持前缀 如add*,以add开头的所有东西

方式3:指定文件 pytest ./路径名/文件名.py

pytest ./test_script/authority/user.py

方式4.指定类或方法

类:pytest ./路径/文件名.py::类名

方法:pytest ./路径/文件名.py::类名::方法名

备注:使用的时候只使用一种,多种混用,就会弄的很乱,搞不清到底是哪个脚本在执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值