Python+reuqests自动化接口测试

1.最近自己在摸索Python+reuqests自动化接口测试,要实现某个功能,首先自己得有清晰的逻辑思路!这样效率才会很快!

思路--1.通过python读取Excel中的接口用例,2.通过python的函数调用,get/Post 进行测试,3把测试结果写到一个新的Excel表格中!

1:编写接口测试用例数据,只是举了两个例子:

2.:函数方法 URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数

复制代码
import time
import requests
#URl: 服务器地址,host:接口地址,type(请求类型:get或者post),data:参数
def ruqests_test(url,host,type,data):
    if type=='get':
        #发送请求 get
        r=requests.get("%s%s" %(url,host),data=data)
        
        return r

    else :
        #发送请求 get 
        r=requests.post("%s%s" %(url,host),data=data)
        return r

3:读取Excel接口用例,调用函数发送请求,接收返回信息,写入Excel文档中

复制代码
#coding=utf-8
import xlrd
import Test03
import time
import xlwt
#根据索引读取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的索引,by_index:表的索引
def excel_table_byindex(file= 'C:\Users\Administrator\Desktop\Test.xlsx',colnameindex=0,by_index=0):
    data =xlrd.open_workbook(file)
    table = data.sheets()[by_index]
    nrows = table.nrows #行数
    ncols = table.ncols #列数
    colnames =  table.row_values(colnameindex) #某一行数据
    list =[]
    for rownum in range(1,nrows):

         row = table.row_values(rownum)
         if row:
             app = {}
             for i in range(len(colnames)):
                app[colnames[i]] = row[i]
                #print app[colnames[i]]
             list.append(app)
    return list
if __name__=="__main__":
    tables = excel_table_byindex()
    i = 1
    wb = xlwt.Workbook()  # 新建了一个新的工作表
    sheet1 = wb.add_sheet('Sheet 1')
    wb.add_sheet('Sheet 2')
#列表名称
    row1 = sheet1.row(0)
    row1.write(0, u'地址')
    row1.write(1, u'状态码')
    row1.write(2, u'返回信息')
    row1.write(3, u'时间')
    for row in tables:
        #row['value1'] if row['value1'] == ''else int(row['value1']):三目运算,当读取的值为空,就不转换为int类型
        r=Test03.ruqests_test(row['url'],row['host'],row['type'],{row['key1']:row['value1'] if row['value1'] == ''else int(row['value1']),row['key2']:row['value2'] if row['value2'] == ''else int(row['value2'])})
        row1 = sheet1.row(i)
        row1.write(0, r.url)
        row1.write(1, r.status_code)
        row1.write(2, r.text)
        row1.write(3,time .strftime("%Y-%m-%d %H:%M:%S", time.localtime()))
        wb.save('C:\Users\Administrator\Desktop\Test00.xlsx')
        i=i+1
复制代码
结果如图所示:
复制代码
有什么不明白的可以留言!  希望可以帮到一些人!

Python接口自动化测试零基础入门到精通(2023最新版)

相关推荐
梦帮科技6 分钟前
领域认知知识库图谱注入:从双式记账图网络到高质量问答对自动化合成流水线
运维·网络·数据库·人工智能·矩阵·架构·自动化
乌暮18 分钟前
深入理解 Java 泛型:把「万能盒子」用对、用稳
java·开发语言·后端·学习
海宇服务41 分钟前
零信任架构实战:基于海宇车型识别精准构建自动化定损网关
运维·人工智能·架构·自动化
2601_962218611 小时前
C语言中三种库的编译和使用方法
开发语言·c++
传奇开心果编程1 小时前
中庸、有容、破执:仓颉编程语言的中华智慧结晶——三重哲学境界思辨
开发语言·华为·开源·软件工程
jimy11 小时前
派生类重写基类虚函数(二):override的作用
开发语言·c++
_upupup1 小时前
异常(C++)
java·开发语言·jvm
ebiobiz1 小时前
基于 GD32 Embedded Builder (GEB) 与 Nimmake 的 MCU 工程搭建指南
c++·python·单片机·嵌入式硬件·mcu
霸道流氓气质2 小时前
ComfyUI 图像生成工作流完全指南:从节点编排到Java生产级图像生产实战
java·开发语言·人工智能
老歌老听老掉牙2 小时前
穿越时空的物流密码:VRP与VRPTW的深度剖析及实战求解
python·物流·vrp