当前位置: 首页 > news >正文

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':#发送请求 getr=requests.get("%s%s" %(url,host),data=data)return relse :#发送请求 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 = 1wb = 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最新版)

http://www.lryc.cn/news/225119.html

相关文章:

  • 【Java 进阶篇】保护你的应用:Java 过滤器实现敏感词汇过滤
  • 目标检测网络系列——YOLO V4
  • 如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
  • CentOS系统安装vsftpd
  • 手握“发展密钥”,TCL科技或迎价值重估?
  • A star算法
  • node插件MongoDB(四)—— 库mongoose 操作文档使用(新增、删除、更新、查看文档)(二)
  • JavaFX入门和网格布局面板的使用,Dao层交互,舞台与场景切换以及其他控件的使用
  • 数据中台之数据分析
  • 龙芯loongarch64服务器编译安装scipy
  • ubuntu(18.04)中安装open babel docker镜像并在php项目中调用容器中的obabel命令解析结果使用
  • 02-PostgreSQL的基本使用
  • uniapp 实现路线规划
  • C语言C位出道心法(五):内存管理
  • Flink之SQL客户端与DDL操作
  • 记录第一次银行测试岗面试【总结几点面试不要犯得错误】
  • 一篇带你精通php
  • Go 语言函数
  • 前端小技巧: 拍平数组的6种常见方法
  • c++day6
  • LeetCode(1)合并两个有序数组【数组/字符串】【简单】
  • 剪贴板管理软件 Paste Wizard mac中文版功能特色
  • 【数据结构】树的基本性质(计算树的总结点数与叶结点数)
  • android手机平板拓展电脑屏幕
  • 接口测试的流程
  • HMAC 详解:在 Golang 中实现消息认证码
  • 阻塞队列和定时器的使用
  • JavaScript脚本操作CSS
  • Rust4.1 Managing Growing Projects with Packages, Crates, and Modules
  • RPA在财务预测和分析中的应用