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)