------以充值为例
1、excel中编写一个测试用例
注:在充值之前我们需要登陆获取COOKIE值来进行充值,因此第一条用例必须是cookie
2、读取excel
from openpyxl import load_workbook
# 相对路径 绝对路径
# 打开工作簿
class DoExcel:
def get_data(self, file_name, sheet_name):
# wb=load_workbook("../testcase_03/test.xlsx")
wb = load_workbook(file_name)
sheet = wb[sheet_name]
test_data = []
for i in range(2, sheet.max_row + 1):
row_data = {}
row_data['case_id'] = sheet.cell(i, 1).value
row_data['url'] = sheet.cell(i, 2).value
row_data['data'] = sheet.cell(i, 3).value
row_data['title'] = sheet.cell(i, 4).value
row_data['http_method'] = sheet.cell(i, 5).value
test_data.append(row_data)
return test_data
def write_back(self, file_name, sheet_name, i, value, j=6): # 专门写回数据
wb = load_workbook(file_name)
sheet = wb[sheet_name]
sheet.cell(i, j).value = value
wb.save(file_name)
if __name__ == '__main__':
res = DoExcel().get_data("D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1')
print(res)
3、http请求
import requests
class HttpRequest:
def http_request(self, url, data, http_method):
try:
if http_method.lower() == 'get':
res = requests.get(url, data, verify=False)
return res # 返回结果
elif http_method.lower() == 'post':
res = requests.post(url, data, verify=False)
return res # 返回结果
else:
print("输入的请求方法不对")
except Exception as e:
print("请求报错了:{0}".format(e))
# 抛出异常
raise e
4、执行测试用例
from testcase_03.http_request import HttpRequest
from testcase_03.do_excel import DoExcel
#全局变量
COOKIE=None
def run(test_data): # 传入列表嵌套字典的数据格式进来
global COOKIE
for item in test_data[0:5:1]:
print("正在测试的用例是{0}".format(item['title']))
res = HttpRequest().http_request(item["url"], str(item["data"]), item["http_method"])
if res.cookies:#如果返回值是true 表示有cookie就把cookie赋值给COOKIE
COOKIE=res.cookies
print("请求的结果是:{0}".format(res.json()))
DoExcel().write_back(r"D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1', item['case_id']+1,
str(res.json()))
test_data = DoExcel().get_data(r"D:\PycharmProjects\class_01\\testcase_03\\test.xlsx", 'Sheet1')
run(test_data)