zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Pytest 如何组织冒烟测试及执行冒烟用例

pytest测试执行 如何 组织 用例
2023-09-27 14:23:00 时间

Pytest 组织冒烟测试

pytest 提供了测试用例标记机制

一个测试用例允许被多个@pytest.mark进行标记

同一个@pytest.mark可以标记多个测试用例

pytest.mark常用于冒烟测试用例组织

pytest.mark 组织冒烟用例

# run_unittest_smoke_testing.py
#!/usr/bin/env python3# encoding:utf-8import pytest
@pytest.mark.test_envdef test_case_1():pass
@pytest.mark.test_env@pytest.mark.smokedef test_case_2():''' 冒烟用例'''pass

左右拉动查看完整代码

cd 进入 /test_case目录, 使用命令行运行 test_case_with_pytest.py

pytest test_case_with_pytest.py -v -m smoke

左右拉动查看完整代码

运行结果​​​​​​​

collected 2 itemstest_case_with_pytest.py::test_case_2 PASSED============================== 1 tests deselected ================================================== 1 passed, 1 deselected in 0.01 seconds ====================

左右拉动查看完整代码

运行被标记test_env的用例

pytest test_case_with_pytest.py -v -m test_env

左右拉动查看完整代码

运行结果​​​​​​​

collected 2 itemstest_case_with_pytest.py::test_case_1 PASSEDtest_case_with_pytest.py::test_case_2 PASSED=========================== 2 passed in 0.01 seconds ===========================

左右拉动查看完整代码

Pytest 执行 Unittest冒烟用例

Pytest测试框架是兼容Python自带的Unittest, 修改test_case_with_unittest2.py​​​​​​​

# test_case_with_unittest2.py
#!/usr/bin/env python3# encoding:utf-8import unittestimport pytest
class TestUittestCase2(unittest.TestCase):
@pytest.mark.smokedef test_case_with_unittest_3(self):'''冒烟测试用例'''print('I am Smoke Testing ')
def test_case_with_unittest_4(self):pass

左右拉动查看完整代码

命令行运行 test_case_with_unittest2.py

pytest test_case_with_unittest2.py -v -m smoke

左右拉动查看完整代码

运行结果​​​​​​​

collected 2 items / 1 deselected / 1 selectedtest_case_with_unittest2.py::TestUittestCase2::test_case_with_unittest_3 PASSED [100%]============== 1 passed, 1 deselected, 1 warnings in 0.01 seconds ==============

左右拉动查看完整代码

总结:

1、Uittest组织冒烟用例,需通过loadTestsFromNames在不同的测试模块里指定测试用例,组装成test suit(测试套件)后,给TextTestRunner运行。

2、Pytest组织冒烟用例,只需给测试用例加上@pytest.mark.key ,使用命令行pytest -m key test_case.py 即可。

使用Uittest组织冒烟测试,关注点有至少有两个: 

1、当编写新功能的冒烟测试,需要去维护冒烟测试用例集;

2、合并代码时,如果有两个人同时修改了这个冒烟用例集,还要解决冲突,防止遗漏冒烟用例

使用Pytest组织冒烟测试,关注点在于用例的本身,当编写新功能的冒烟测试,只需在给用例加一个编写用例人员约定好的@pytest.mark,例如@pytest.mark.smoke。

学习资源分享

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走

这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助…