接口自动化测试
一.requests+pytest+allure
1.下载所需插件:requests,pytest,allure-pytest
搜索插件并下载
2.代码模块展示
3.读取csv文件
存储数据(csv)
读取数据
代码:
import csv
class ReadCsv():
def readCsv(self):
item = []
rr = csv.reader(open("…/dataDemo/aaa.csv"))
for csv_i in rr:
item.append(csv_i)
return item
a = ReadCsv()
print(a.readCsv())
4.读取excle文件
(1)存储数据(xlsx)
(2)读取数据(readDemo)
代码:
from openpyxl import load_workbook
class UseExcel():
def get_TestExcel(self):
# 打开表
excelbook = load_workbook(“I:/PythonCode/request0607/dataDemo/0607.xlsx”)
# 定位表单
sheet = excelbook[‘Sheet1’]
# 行
# print(sheet.max_row)
# # 列
# print(sheet.max_column)
# 把所有行的数据放到列表中
test_data = []
for i in range(2,sheet.max_row+1):
# 把每行的数据放到字典中
sub_data = {}
for j in range(1,sheet.max_column+1):
sub_data[sheet.cell(1,j).value] = sheet.cell(i,j).value
# 拼接每行单元格的数据
test_data.append(sub_data)
return test_data
t = UseExcel()
f = t.get_TestExcel()
print(f)
(3)request请求接口返回状态码
代码:
import requests
from readDataDemo.readexcel import UseExcel
class UseRequestexcelClass():
def UseRequestexcelMethod(self):
t = UseExcel()
f = t.get_TestExcel()
item = []
for excel_i in f:
if excel_i[“method”] == “get”:
rr = requests.get(excel_i[“url”], params=excel_i[“params”])
item.append(rr.status_code)
else:
rr = requests.post(excel_i[“url”], data=excel_i[“params”])
item.append(rr.status_code)
return item
if name == “main”:
c = UseRequestexcelClass().UseRequestexcelMethod()
print©
(4)pytest断言设置并结合allure生成测试报告
代码:
import pytest, os
import allure
from requestDemo.requestexcel import UseRequestexcelClass
t = UseRequestexcelClass()
f = t.UseRequestexcelMethod()
for i in f:
print(i)
class Test(object):
def test_001(self):
for aa in f:
assert aa == 200
if name == “main”:
pytest.main(["-s", “-q”, ‘–alluredir’, ‘report/result’, ‘testexcel.py’])
split = 'allure ’ + 'generate ’ + './report/result ’ + '-o ’ + './report/html ’ + ‘–clean’
os.system(‘cd D:\install\python/python\Test_allure\Test/test\report’)
os.system(split)