1
文件 的完整代码
import pytest
import allure
from import register_user, login_user, get_one_user_info, update_user
from import logger
@("步骤 1 ==>> 注册用户")
def step_1(username, password, telephone, sex, address):
("步骤 1 ==>> 注册用户 ==>> {}, {}, {}, {}, {}".format(username,
password, telephone, sex, address))
@("步骤 2 ==>> 登录用户")
def step_2(username):
("步骤 2 ==>> 登录管理员用户:{}".format(username))
@("步骤 3 ==>> 查看新注册用户 ID")
def step_3(id):
("步骤 3 ==>> 查看新注册用户 ID:{}".format(id))
@("步骤 4 ==>> 根据 ID 修改用户信息")
def step_4(id):
("步骤 4 ==>> 修改用户 ID:{}".format(id))
@()
@("针对业务场景的测试")
@("场景:用户注册-用户登录-修改用户")
class TestRegLogUpdate():
@("用例--注册/登录/修改--预期成功")
@("该用例是针对注册-登录-修改场景的测试")
@("用户注册登录修改--预期成功")
@
@("delete_register_user")
def test_user_register_login_update_success(self, testcase_data):
username = testcase_data["register"]["username"]
password = testcase_data["register"]["password"]
telephone = testcase_data["register"]["telephone"]
sex = testcase_data["register"]["sex"]
address = testcase_data["register"]["address"]
admin_user = testcase_data["login"]["admin_user"]
admin_pwd = testcase_data["login"]["admin_pwd"]
软件测试任务驱动教程
2
new_password = testcase_data["update"]["new_password"]
new_telephone = testcase_data["update"]["new_telephone"]
new_sex = testcase_data["update"]["new_sex"]
new_address = testcase_data["update"]["new_address"]
except_result = testcase_data["except_result"]
except_code = testcase_data["except_code"]
except_msg = testcase_data["except_msg"]
("*************** 开始执行用例 ***************")
result = register_user(username, password, telephone, sex, address)
step_1(username, password, telephone, sex, address)
assert is True,
result = login_user(admin_user, admin_pwd)
step_2(admin_user)
assert is True,
admin_token =
result = get_one_user_info(username)
id = ().get("data")[0].get("id")
step_3(id)
assert is True,
result = update_user(id, admin_user, new_password, new_telephone, admin_token,
new_sex, new_address)
step_4(id)
assert == except_result,
("code ==>> 期望结果:{}, 实际结果:【 {} 】
".format(except_code, ().get("code")))
assert ().get("code") == except_code
assert except_msg in
("*************** 结束执行用例 ***************")
@("用例--注册/登录/修改--预期失败")
@("该用例是针对注册-登录-修改场景的测试")
@("用户注册登录修改--预期失败")
@
@("delete_register_user")
def test_user_register_login_update_fail(self, testcase_data):
username = testcase_data["register"]["username"]
password = testcase_data["register"]["password"]
telephone = testcase_data["register"]["telephone"]
sex = testcase_data["register"]["sex"]
address = testcase_data["register"]["address"]
admin_user = testcase_data["login"]["admin_user"]
admin_pwd = testcase_data["login"]["admin_pwd"]
new_password = testcase_data["update"]["new_password"]
new_telephone = testcase_data["update"]["new_telephone"]
3
new_sex = testcase_data["update"]["new_sex"]
new_address = testcase_data["update"]["new_address"]
except_result = testcase_data["except_result"]
except_code = testcase_data["except_code"]
except_msg = testcase_data["except_msg"]
("*************** 开始执行用例 ***************")
result = register_user(username, password, telephone, sex, address)
step_1(username, password, telephone, sex, address)
assert is True,
result = login_user(admin_user, admin_pwd)
step_2(admin_user)
assert is True,
admin_token =
result = get_one_user_info(username)
id = ().get("data")[0].get("id")
step_3(id)
assert is True,
result = update_user(id + 1, admin_user, new_password, new_telephone,
admin_token, new_sex, new_address)
step_4(id)
assert == except_result,
("code ==>> 期望结果:{}, 实际结果:【 {} 】
".format(except_code, ().get("code")))
assert ().get("code") == except_code
assert except_msg in
("*************** 结束执行用例 ***************")
@
@(reason="skip 跳过示例:暂时无法运行该用例")
def test_user_register_login_update_fail_2(self):
pass
if __name__ == '__main__':
(["-q", "-s", ""])