requests接口自动化-excel参数化
在数据量大的时候,需要使用文件参数化。
excel文件是其中一种。
安装xlrd读取excel文件。(这里是在pycharm安装)
发现选择豆瓣安装失败,阿里云安装成功。


准备excel文件,放在test_data目录下


字典数据

在common目录下定义函数
import xlrd
def get_excel_row(row): #row为第几行
excel=xlrd.open_workbook('../test_data/usermessage.xlsx') #使用相对路径,不要使用绝对路径
table=excel.sheets()[0] #读取第一页数据
return table.cell_value(row,1),table.cell_value(row,2) #读取传入行的第二列和第三列数据
def get_row(): #获取文件的总的函数
excel=xlrd.open_workbook('../test_data/usermessage.xlsx') #使用相对路径,不要使用绝对路径
table=excel.sheets()[0] #读取第一页数据
return table.nrows
def get_dict(row):
excel=xlrd.open_workbook('../test_data/dictmessage.xlsx') #使用相对路径,不要使用绝对路径
table=excel.sheets()[0] #读取第一页数据
return table.cell_value(row,1)
- 在testcase目录下进行测试
以登录幕布为例,url='https://mubu.com/login/password',请求方法get,请求为data参数(phone,password)
import requests
from common.get_excel import * #导入自定义的函数
url='https://mubu.com/login/password'
def test_get_excel_row(): #注意:测试用例与定义的的函数在同一
for i in range(1,get_row()): #调用get_row()获取文件的总的函数,循环访问
phone,password=get_excel_row(i)
params={'phone':phone,'password':password}
r=requests.get(url=url,params=params)
print(r.status_code)
print(r.text)
# 读取excel里的字典数据,如{'phone':15625172814,'password':'password123'}
def test_dict():
params=get_dict(1)
print(type(params)) #直接获取是str类型
print(get_dict(1))
r=requests.get(url=url,params=eval(get_dict(1)))
print(r.status_code)
print(r.text)
requests接口自动化-excel参数化的更多相关文章
- requests接口自动化-数据库参数化
数据库参数化的场景 部分接口,参数其他方式获取不到,可以去数据库去获取,如手机验证码 安装pymysql 配置文件 def sql_conf(): # 定义数据库的配置 host='127.0.0.1 ...
- python+requests接口自动化框架
为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程 ...
- python+requests接口自动化完整项目设计源码
前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目 ...
- python+requests接口自动化完整项目设计源码(一)
原文地址https://www.cnblogs.com/yoyoketang/tag/python接口自动化/ 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址 ...
- requests接口自动化9-共享session和传递cookie
前言: session:用requests.session()创建会话,可以将会话信息传递给其他接口 cookie:用RequestsCookieJar或者cookie字典传递cookie信息 fil ...
- requests接口自动化-列表与字典参数化
def server_ip(): # 配置文件,通过修改配置,在不同环境进行测试 # dev_ip='https://www.baidu.com/' # sit_ip='https://cn.bing ...
- Python+requests接口自动化完整项目框架整理笔记
前言 通过学习"上海悠悠"博客,自己手动敲了一遍整体的自动化项目搭建,编写用例,打印log日志,生成测试报告,将报告发送至邮箱整体流程跑了一遍,勉强跑通了 一,项目结构 --cas ...
- python+requests接口自动化完整项目设计源码【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/python%E6%8E%A5%E5%8F%A3%E8%87%AA%E5%8A%A8%E ...
- requests接口自动化2-url里不带参数的get请求
最常用的是get,post请求,然后是put,delete,其他方法很少用 1. get请求几种方式 1.1.url里不带参数的get请求 接口请求fiddler返回内容: import reques ...
随机推荐
- selenium处理:您的连接不是私密连接的网站(https ssl 证书)
当前我们遇到这样的问题,就要通过代码的层面去解决 requests的话verify参数设置为False selenium的话添加参数:--ignore-certificate-errors 测试代码: ...
- NOIP 模拟 $27\; \rm 牛半仙的妹子图$
题解 \(by\;zj\varphi\) 颜色数很少,考虑枚举颜色数. 建出来一棵最小生成树,可以证明在最小生成树上,一个点到另一个点的路径上的最大权值最小(易证,考虑 \(\rm kruskal\) ...
- java简体(繁体)转换器
<!--中文字符简繁体互相转换--> <dependency> <groupId>com.github.nobodxbodon</groupId> &l ...
- Spring-Boot的动态代理AOP原理
前言 Spring AOP使用了动态代理技术,动态代理在业界比较流行的实现方式有,CGLIB,Javassist,ASM等等. Spring动态代理实现方式 Spring采用了JDK和CGLIB两种方 ...
- Asp.NetCore 中Aop的应用
前言 其实好多项目中,做一些数据拦截.数据缓存都有Aop的概念,只是实现方式不一样:之前大家可能都会利用过滤器来实现Aop的功能,如果是Asp.NetCore的话,也可能会使用中间件: 而这种实现方式 ...
- C# Array.Sort 省内排序
- Java常用类之时间类
JDK8之前日期时间API 1. java.lang.System类 2. java.util.Date类 3. java.text.SimpleDateFormat类 4. java.util.Ca ...
- reids rdb与aof
rdb:时合高并发场景,容易备份恢复,会丢失部分数据 1.默认开启的方式,可以进过压缩,可以根据时间点生成快照 2.数据量大的情况下恢复快 3.bgsave一边开启fork保存文件,一边继续响应客户端 ...
- 关于Ubuntu18.04上Python版本管理
时间: 2019-11-11 整理: pangyuaner 标题:树梅派上多版本python及pip安装使用管理指南 地址:https://blog.csdn.net/zbgjhy88/article ...
- mysql各个版本驱动jar包下载 mysql/mysql-connector-java/5.1.22
想下个jar csdn上全是要积分下载,这里记录下 下载地址,免得到时又要找 http://central.maven.org/maven2/mysql/mysql-connector-java/