14-pytest-标记失败xfail使用

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了14-pytest-标记失败xfail使用相关的知识,希望对你有一定的参考价值。

目录

前言

代码示例


前言

  • 自动化测试中,有关联依赖关系的用例,当前置的用例失败时,后面的用例可以标记xfail,直接跳过不再执行。

代码示例

# -*- coding: utf-8 -*-
# @Time    : 2021/10/23
# @Author  : 大海
# @File    : test_27.py
import pytest

params = [{"username": "大海", "password": "12345"}]


@pytest.fixture()
def login(request):
    user = request.param["username"]
    pwd = request.param["password"]
    print("正在操作登录,账号:%s, 密码:%s" % (user, pwd))
    if pwd == "123456":
        return True
    else:
        return False

# case1 测试登录 结果为fail,case2和3 先判断登录结果,登录失败 直接标记xfail 不执行
@pytest.mark.parametrize("login", params,indirect=True)
class TestShopping():

    def test1_login(self, login):
        """用例1 测试登录"""
        result = login
        print("用例1:%s" % result)
        assert result == True

    def test2_add_shopping_car(self,login):
        """用例2 添加购物车"""
        result = login
        print("用例3,登录结果:%s" % result)
        if not result:
            pytest.xfail("登录不成功, 标记为xfail")

        assert 1 == 1

    def test3_pay(self, login):
        """用例3 支付"""
        result = login
        print("用例3,登录结果:%s" % result)
        if not result:
            pytest.xfail("登录不成功, 标记为xfail")

        assert 1 == 1


if __name__ == "__main__":
    pytest.main(["-s", "test_27.py"])

以上是关于14-pytest-标记失败xfail使用的主要内容,如果未能解决你的问题,请参考以下文章

pytest学习和使用14-Pytest用例执行结果有哪几种状态?

pytest 已知用例会执行失败,想要指定它跳过执行,并标记为xfail (不同于skip)

python-pytest学习-标记失败xfail

python-pytest学习-标记失败xfail

pytest-16-用例a失败,跳过用例b和c并标记失败xfail

pytest文档16-用例a失败,跳过测试用例b和c并标记失败xfail