python pytest allure_python测试框架pytest和测试报告allure的联合使用-----测试套件

最近采用jenkins+python+pytest+allure写了一些自动化测试用例。碰到这样一种场景:如果我创建了2个测试任务,测试任务1包含2个测试用例test_a.py和test_b.py,测试任务2包含一个测试用例test_c.py。

一. 常规操作

假设我的代码目录结构有如下3个测试用例:

20191212235621769714.png

然后我在jenkins上面核心配置运行他们,并展示allure上面

20191212235621880059.png

20191212235621962085.png

note: 上面的\autotest\target\allure-results目录需要在本地jenkins目录中指定好。

build后发现如下结果:

20191212235622080241.png

test_a.py和test_b.py、test_c.py都属于同一个测试套example02.

二. 生成不同的suite,并且不同的suite分开展示

首先在准备如下目录结构:

20191212235622187656.png

然后修改jenkins配置如下:

20191212235622300930.png

20191212235622364403.png

这样生成的报告就有两个测试套了。

总结:pytest中的测试套感觉就是一个测试文件目录对应一个测试套。和testng中不一样,可以随便添加测试类放到一个suit.xml文件中。我们可以根据任务选取的不同,从而来生成不同的suite文件。

三. 通过新建test.py文件来存储要本次执行的所有用例

1.方法一:可以通过pytest.main方式

但是这种方式必须放在非test_开头或者_test结尾的py文件中,可以放在testrun.py文件中。比如有一个testrun.py:

import pytestif __name__ == ‘__main__‘:

pytest.main(["-s", "test_a.py", "test_b.py"])

这样testrun.py运行后就会执行test_a.py和test_b.py两个用例

2.方法二:通过新建pytest用例,来存储本次要执行的测试用例,比如test_all.py,在里头需要执行5个测试用例test_a.py,test_b.py,test_c.py,test_d.py,test_e.py

20191212235622456194.pngtest_all.py中的实现如下:

from src.example02.test_a import *

from src.example02.test_b import *

from src.example02.test_c import *

from src.example03.test_d import *

from src.example03.test_e import *

20191212235622585092.png

build结束后:

20191212235622648564.png

可以发现,test_all.py就是我们的测试套,它包含了5个测试用例。这就可以不同的测试任务对应不同的测试套,不同对的测试套下面可以放各种组合的用例。一个用例可以放在不同的测试套中。

原创文章,转载请注明出处!(写的是核心的配置、代码,如有不懂,欢迎留言交流)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值