test_06_internship_manage.py
5.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# -*- coding: utf-8 -*-
# ======================================
# @Software: PyCharm
# @Author : Shitou ✊
# @Time : 2023/1/13 11:22
# @FileName: test_06_internship_manage.py
# ======================================
"""
实习管理菜单
"""
import json
import os
import unittest
import requests
from jsonpath import jsonpath
from common.handle_config import conf
from common.handle_excel import Excel
from common.handle_log import HandleLog
from common.handle_path import Internship_manage
from common.myddt import data, ddt
from tools.fixture import SelectData
from tools.handle_token import LoginToken
# ==================实习管理菜单相关用例==================
# ====================================================================
# 报名审核-待审核列表查看
# ====================================================================
@ddt
class Test01SelectApplyAuditList(unittest.TestCase):
select_apply_audit = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), "select_apply_audit")
select_apply_audit_case = select_apply_audit.read_excel() # 查询报名审核Excel
@classmethod
def setUpClass(cls):
# 获取token
cls.token = LoginToken.login_token()
@data(*select_apply_audit_case)
def test01select_wait_list(self, case):
# 准备数据
data = json.loads(case["data"])
expected = json.loads(case["expected"])
# 调用接口
url = conf.get("url", "url_ip") + case["url"]
herders = {}
herders["Authorization"] = self.token
request = requests.request(url=url, method=case["method"], params=data, headers=herders)
res = request.json()
print("用例入参:{}".format(data))
print("预期结果:", expected)
print("实际结果:", res)
# 断言
try:
self.assertEqual(expected['msg'], res['msg'])
self.assertEqual(expected['code'], res['code'])
except AssertionError as e:
# 写入Excel
self.select_apply_audit.write_excel(row=case["id"] + 1, column=7, value="不通过")
HandleLog.log.error("用例标题{},不通过".format(case['title']))
HandleLog.log.exception(e)
raise e
else:
self.select_apply_audit.write_excel(row=case["id"] + 1, column=7, value="通过")
# 将创建使用的数据写入到excel表格中
self.select_apply_audit.write_excel(row=case["id"] + 1, column=9, value=case["data"])
HandleLog.log.info("用例{},执行通过".format(case["title"]))
# ====================================================================
# 报名审核-进行审核
# ====================================================================
@ddt
class Test02Audit(unittest.TestCase):
audit = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"), "audit")
audit_case = audit.read_excel() # 查询报名审核Excel
@classmethod
def setUpClass(cls):
# 获取token
cls.token = LoginToken.login_token()
def setUp(self):
# ---获取报名审核id---待审核
select_apply_excel = Excel(os.path.join(Internship_manage, "test_07_apply_audit.xlsx"),
"select_apply_audit")
read_apply_excel = select_apply_excel.read_excel_location("C2")
read_apply_excel_d = select_apply_excel.read_excel_location("E2") # 读取params
apply_list = SelectData(str(read_apply_excel), json.loads(read_apply_excel_d))
apply_json = apply_list.select_list()
self.applyId = jsonpath(apply_json, "$..id")[0] # 获取待审核id
@data(*audit_case)
def test01audit(self, case):
if "#formIds#" in case["data"]:
case["data"] = case["data"].replace("#formIds#", str(self.applyId)) # 待审核id
# 准备数据
data = json.loads(case["data"])
expected = json.loads(case["expected"])
# 调用接口
url = conf.get("url", "url_ip") + case["url"]
herders = {}
herders["Authorization"] = self.token
request = requests.request(url=url, method=case["method"], json=data, headers=herders)
res = request.json()
print("用例入参:{}".format(data))
print("预期结果:", expected)
print("实际结果:", res)
# 断言
try:
self.assertEqual(expected['msg'], res['msg'])
self.assertEqual(expected['code'], res['code'])
except AssertionError as e:
# 写入Excel
self.audit.write_excel(row=case["id"] + 1, column=7, value="不通过")
HandleLog.log.error("用例标题{},不通过".format(case['title']))
HandleLog.log.exception(e)
raise e
else:
self.audit.write_excel(row=case["id"] + 1, column=7, value="通过")
# 将创建使用的数据写入到excel表格中
self.audit.write_excel(row=case["id"] + 1, column=9, value=case["data"])
HandleLog.log.info("用例{},执行通过".format(case["title"]))