requests+pytest+allure接口自动化测试步骤

requests+pytest+allure接口自动化测试

步骤流程

1.读取文件中的数据
2.requests拿到数据请求接口返回状态码
3.通过断言验证返回状态码和200对比
4.生成allure的测试报告

先从聚合数据里面寻找两个或两个以上的接口填入CSV表格中

文件格式必须以csv结尾
requests+pytest+allure接口自动化测试步骤

requests+pytest+allure接口自动化测试步骤

1.读取CSV文件中的数据

demo:
import csv #导入csv模块
class Read1(): #创建一个类
def read2(self): #创建一个函数
item = [] #新建一个列表为了方便循环数据
r = csv.reader(open(“xinwendemo.csv”,“r”)) #打开存入接口的csv表格
for i in r: #将数据循环添加到空列表item
item.append(i) #将数据添加
c = item[1:] #创建文件夹的时候有个标题,这一步的操作是为了用切片的方式将标题省略
return c #返回数据
a = Read1()
b=a.read2()
print(b)
requests+pytest+allure接口自动化测试步骤
演示结果:
requests+pytest+allure接口自动化测试步骤

2.requests拿到数据请求接口返回状态码

import requests #导入request模块
from read import Read1 #将第一步读取csv文件夹的操作导入
a = Read1()
b = a.read2()
class Request2():#创建一个类
def request_xiwen(self):#创建一个函数
item = [] #新建一个列表为了方便循环数据
for i in b: #将read读取的数据进行循环
if i[2] == ‘get’:#如果vsc文件夹的method的方法为get的情况下添加url地址和params的type和key值
g = requests.get(url=i[0],params=i[1])#获取文件夹的第一个数据和第二个数据
item.append(g.status_code)#将他的响应状态码添加进去
else:
g = requests.post(url=i[0], params=i[1])#和上一步操作一样, 只不过是method方法为post的情况下
item.append(g.status_code)
return item
c = Request2()
l = c.request_xiwen()
print(l)
requests+pytest+allure接口自动化测试步骤
演示结果:
requests+pytest+allure接口自动化测试步骤

3.通过断言验证返回状态码和200对比

import pytest,os#导入模块
from request3 import Request2#导入方法

a = Request2()
b = a.request_xiwen()
print(b)
class Testclass():
def test1(self):
for i in b: #循环获取到的状态码
assert i == 200#用断言来比较是否相同
if name == ‘main’:
pytest.main([‘test111.py’])
requests+pytest+allure接口自动化测试步骤

演示结果:
requests+pytest+allure接口自动化测试步骤

4.生成allure的测试报告

import pytest,os#导入模块
from request3 import Request2#导入方法

a = Request2()
b = a.request_xiwen()
print(b)
class Testclass():
def test1(self):
for i in b: #循环获取到的状态码
assert i == 200#用断言来比较是否相同
if name == ‘main’:
# 生成测试报告json
pytest.main([’–alluredir’, ‘report/result’, ‘test111.py’])
#将测试报告转为html格式 --html=…/report.html
split = 'allure ’ + 'generate ’ + './report/result ’ + '-o ’ + './report/html ’ + ‘–clean’
# system函数可以将字符串转化成命令在服务器上运行
os.system(split)
requests+pytest+allure接口自动化测试步骤

演示结果:
requests+pytest+allure接口自动化测试步骤
requests+pytest+allure接口自动化测试步骤
requests+pytest+allure接口自动化测试步骤