pytest判断用例的成功或者失败
pytest识别用例失败时会报AssertionError或者xxxError错误,当捕获异常时pytest无法识别到失败的用例
pytest的fixture夹具
pytest的参数化
#coding:utf-8
import pytest
from PythonProject.pytest_test.funcs.guess_point import get_the_number_of_points
test_datas = [6,9,10,4,5]
class TestGuessPoint:
@classmethod
def setup_class(cls):
print("测试类当中,第一个执行用例之前,做的准备工作代码...")
@classmethod
def teardown_class(cls):
print("测试类当中所有的用例执行完毕之后做的清理干工作...")
# def setup_method(self):
# print("===每一个测试用例之前都要执行===")
# def teardown_method(self):
# print("===每一个测试用例之后都要执行===")
@pytest.mark.parametrize("case",test_datas)
def test_guess(self,case):
point = get_the_number_of_points()
assert case == point
pytest和allure的结合
#coding:utf-8
import pytest
import allure
from PythonProject.pytest_test.funcs.log_fuc import login
all_datas=[
{"user":"1234","passwd":"123456","check":"恭喜登录成功"},
{"user":"None123","passwd":"False12345","check":"用户名或密码不正确"},
{"user":"123","passwd":"123456","check":"用户名长度小于4"},
{"user":"12345","passwd":"12345","check":"密码长度小于6"}
]
# @pytest.mark.usefixtures("class_fix")
class TestLogin:
# def setup_method(self):
# print("每一个测试用例之前执行")
# def teardown_method(self):
# print("每一个测试用例都要执行的后置")
@pytest.mark.parametrize("casep",all_datas)
@allure.description("登录模块测试,后端管理员用户角色---")
@allure.issue("https://www.baidu.com","bug地址")
@allure.testcase("https://www.baidu.com","xx平台测试用例地址")
def test_login(self,casep):
res = login(casep.get("user"),casep.get("passwd"))
assert res == casep.get("check")