Pytest用例执行顺序和跳过执行详解
1.py文件的执行顺序
pytest默认按字母顺序去执行的(小写英文--->大写英文--->0-9数字)
setup_module->setup_claas->setup_function->testcase->teardown_function->teardown_claas->teardown_module
1)文件之间按照ASCLL码排序
2)文件内默认按照从上到下进行执行
文件内的用例按照从上往下执行。
2. 改变用例的执行顺序 -装饰器@pytest.mark.run(order=x)
@pytest.mark.run(order=x) 需要pip install pytest-ordering
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
已经改变了用例执行规则,针对于是全局的,会先执行完@pytest.mark.run(order=1)才会执行order=2的用例
其实总体来说,这个插件的实用场景不是很多,如果需要指定某个用例第一个执行和最后执行,可以用该插件实现。
如果要按照你指定的顺序执行下去,需要在每个用例前都加上@pytest.mark.run(order=1),其中order中的数字需递增。
| 方式一 | 方式二 | 方式三 |
第一个执行 | :@ pytest.mark.first | :@ pytest.mark.run('first') | :@ pytest.mark.run(order=1) |
第二个执行 | :@ pytest.mark.second | :@ pytest.mark.run('second') | :@ pytest.mark.run(order=2) |
倒数第二个执行 | :@ pytest.mark.second_to_last | :@ pytest.mark.run('second_to_last') | :@ pytest.mark.run(order=-2) |
最后一个执行 | :@pytest.mark.last | :@ pytest.mark.run('last') | :@ pytest.mark.run(order=-1) |
3. 分组执行用例
在工作中有的时候我们并不需要执行所有用例,所以就会用到分组执行啦。
这里同样也要用到装饰器@pytest.mark
1)在pytest.ini中配置分组
1 2 3 |
|
这个设置的作用就是标记用例进行分组
2)测试用例加入标记
3)运行用例
需要输入pytest -m '分组名'
4) 多个分组用例运行需要用or进行连接
5)运行除标记外的用例
1 |
|
4. pytest跳过测试用例
pytest.mark.skip:跳过用例执行
跳过执行,跳过分为有条件跳过和无条件跳过
1、无条件跳过
1 |
|
2、有条件跳过
1 |
|
1)无条件跳过
1 2 |
|
2)有条件跳过
@pytest.mark.skipif(条件,reason='')这个方法就是当满足条件时跳过被标记的用例,什么是被标记?就是这个装饰器下面的第一条用例
?现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!?希望能帮助到你!【100%无套路免费领取】
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!