十二、读取excel表中的数据,执行requests请求
import sys
sys.path.append("D:\\PycharmProjects\\FN_API_V1.0.1")
from base.run_method import RunMethod
from data.get_data import GetData
from util.common_util import CommonUtil
from util.send_email import SendEmail
from util.LoggerHandler import logger
class RunTest:
def __init__(self):
self.run_method = RunMethod()
self.data = GetData()
self.com_util = CommonUtil()
self.send_mail = SendEmail()
def go_on_run(self):
res = None
pass_count = []
fail_count = []
rows_count = self.data.get_case_lines()
for i in range(1, rows_count):
is_run = self.data.get_is_run(i)
if is_run:
url = self.data.get_request_url(i)
method = self.data.get_request_method(i)
data = self.data.get_request_data(i)
expect = self.data.get_except_data(i)
headers = self.data.is_headers(i)
token = self.data.is_token(i)
request_name = self.data.get_request_name(i)
if token is None:
if data is None:
res = self.run_method.run_main(method, url, headers=headers)
else:
res = self.run_method.run_main(method, url, data, headers=headers)
else:
if data is not None:
res = self.run_method.run_main(method, url + str(token), data, headers=headers)
else:
res = self.run_method.run_main(method, url + str(token), headers=headers)
if int(expect) == int(res):
self.data.write_result(i, 'pass')
pass_count.append(i)
else:
self.data.write_result(i, res)
fail_count.append(i)
msg = str(i) + '、' + request_name + ':' + url + '\n' + 'error:' + str(res) + '\n' + \
'----------------------------------------------------------------------------------------'
logger().info(msg)
if len(fail_count) == 0:
print("接口运行全部通过")
else:
self.send_mail.send_main(pass_count, fail_count)
if __name__ == '__main__':
run = RunTest()
print(run.go_on_run())