pytest自动化测试流程
步骤流程:
1.通过禅道将接口用例转换为.csv文件,读取csv中的文件(包含url,parmas,请求方法)
import csv #导入csv模块
class Read1(): #创建一个类
def read2(self): #创建一个函数
item = [] #创建一个列表进行循环
r = csv.reader(open('接口文档名称')) #打开接口用例的表格
for i in r: #将数据循环添加到空表item里
item.append(i) #将数据添加
c = item[1:] #利用切片把表格中的第一行省略
return c #返回数据
a = Read1()
b = a.read2()
print(b)
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)
3.通过断言验证返回状态码比对
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’])
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)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY