📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
在 Pytest 中,测试用例的标记(Markers)是一种非常强大的功能,可以用来对测试用例进行分类和筛选。通过设置标记,可以在运行测试时选择性地执行特定标记的测试用例,从而提高测试的灵活性和效率。以下将详细介绍如何在 Pytest 中设置和使用测试用例的标记。
一、设置测试用例的标记
(一)使用 @pytest.mark 装饰器
在 Pytest 中,可以使用 @pytest.mark 装饰器为测试用例添加标记。标记可以是任意字符串,通常用于表示测试用例的类型、优先级或特定的测试场景。
示例:为测试用例添加标记
import pytest
@pytest.mark.smoke
def test_login():
assertTrue
@pytest.mark.regression
def test_update_profile():
assertTrue
@pytest.mark.smoke
@pytest.mark.regression
def test_logout():
assert True
在上述示例中:
test_login 被标记为 smoke,表示这是一个冒烟测试用例。
test_update_profile 被标记为 regression,表示这是一个回归测试用例。
test_logout 被同时标记为 smoke 和 regression,表示它既是冒烟测试用例,也是回归测试用例。
(二)在 pytest.ini 文件中注册标记
为了使标记更加规范和易于管理,可以在 pytest.ini 文件中注册标记。注册标记后,Pytest 会自动识别这些标记,并在运行时提供相应的帮助信息。
示例:在 pytest.ini 文件中注册标记
[pytest]
markers =
smoke: 标记为冒烟测试的用例
regression: 标记为回归测试的用例
integration: 标记为集成测试的用例
注册标记后,可以在运行测试时使用 -m 选项来选择性地执行特定标记的测试用例。
二、运行特定标记的测试用例
(一)使用 -m 选项
在运行 Pytest 时,可以使用 -m 选项来指定要运行的标记。例如:
pytest -m smoke
上述命令将只运行标记为 smoke 的测试用例。
示例:运行多个标记的测试用例
pytest -m "smoke or regression"
上述命令将运行标记为 smoke 或 regression 的测试用例。
(二)使用 not 运算符
可以使用 not 运算符来排除特定标记的测试用例。例如:
pytest -m "not smoke"
上述命令将运行所有未标记为 smoke 的测试用例。
(三)组合使用多个条件
可以组合使用多个条件来选择性地运行测试用例。例如:
pytest -m "smoke and regression"
上述命令将运行同时标记为 smoke 和 regression 的测试用例。
三、在测试用例中动态设置标记
在某些情况下,可能需要在测试用例运行时动态设置标记。可以通过 pytest.mark 的 dynamic 功能来实现这一点。
示例:动态设置标记
import pytest
def test_dynamic_mark():
if some_condition():
pytest.mark.smoke(test_dynamic_mark)
else:
pytest.mark.regression(test_dynamic_mark)
在上述示例中,根据 some_condition() 的结果动态地为 test_dynamic_mark 设置标记。
三、在测试用例中动态设置标记
在某些情况下,可能需要在测试用例运行时动态设置标记。可以通过 pytest.mark 的 dynamic 功能来实现这一点。
示例:动态设置标记
import pytest
def test_dynamic_mark():
if some_condition():
pytest.mark.smoke(test_dynamic_mark)
else:
pytest.mark.regression(test_dynamic_mark)
在上述示例中,根据 some_condition() 的结果动态地为 test_dynamic_mark 设置标记。
五、总结
通过使用 Pytest 的标记功能,可以灵活地对测试用例进行分类和筛选。通过在 pytest.ini 文件中注册标记,可以规范标记的使用,并在运行测试时通过 -m 选项选择性地执行特定标记的测试用例。标记功能不仅可以提高测试的灵活性,还可以根据不同的测试场景选择合适的测试用例,从而提高测试效率和覆盖率。希望本文能够对读者在接口自动化测试中设置和使用测试用例标记提供帮助。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】