1. # -*- coding: utf-8 -*-
2. # @Time : 2021/10/23
3. # @Author : 大海
4. # @File : test_27.py
5. import pytest
6.
7. params = [{"username": "大海", "password": "12345"}]
8.
9.
10. @pytest.fixture()
11. def login(request):
12. user = request.param["username"]
13. pwd = request.param["password"]
14. print("正在操作登录,账号:%s, 密码:%s" % (user, pwd))
15. if pwd == "123456":
16. return True
17. else:
18. return False
19.
20. # case1 测试登录 结果为fail,case2和3 先判断登录结果,登录失败 直接标记xfail 不执行
21. @pytest.mark.parametrize("login", params,indirect=True)
22. class TestShopping():
23.
24. def test1_login(self, login):
25. """用例1 测试登录"""
26. result = login
27. print("用例1:%s" % result)
28. assert result == True
29.
30. def test2_add_shopping_car(self,login):
31. """用例2 添加购物车"""
32. result = login
33. print("用例3,登录结果:%s" % result)
34. if not result:
35. pytest.xfail("登录不成功, 标记为xfail")
36.
37. assert 1 == 1
38.
39. def test3_pay(self, login):
40. """用例3 支付"""
41. result = login
42. print("用例3,登录结果:%s" % result)
43. if not result:
44. pytest.xfail("登录不成功, 标记为xfail")
45.
46. assert 1 == 1
47.
48.
49. if __name__ == "__main__":
50. pytest.main(["-s", "test_27.py"])