接口自动化框架篇: 如何设置测试用例的标记?

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


在 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%免费】

​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值