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 ... 
随机推荐
- Sqli-Labs less17-19
			less-17 前置基础知识: UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XML文 ... 
- IOC概念和原理:BeanFactory 接口与ApplicationContext
			IOC(概念和原理)1.什么是 IOC(1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理(2)使用 IOC 目的:为了耦合度降低(3)做入门案例就是 IOC 实现2.IOC ... 
- HTML基本语法(慕课网学习笔记)
			标题 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ... 
- Maven项目管理工具--简单实用与入门
			Maven管理的方式就是"自动下载项目所需要的jar包,统一管理jar包之间的依赖关系" Maven下载与安装 1.首先确保JDK已安装,且JDK为1.6+(尽量新,新肯定支持,旧 ... 
- Java程序设计学习笔记(五) — 多线程
			时间:2016-4-15 09:56 --多线程(还有多核编程) 1.进程 进程是一个正在执行中的程序. 每一个进程执行都有一个执行顺序,该顺序是一个执行路径, ... 
- REST设计风格:你写的 RESTful API 到第几层了?
			理解REST 在理解其真正概念前,我们先来明确: REST它的核心思想是面向资源的抽象(相对于RPC就是面向过程抽象),它是一种设计风格的指导,而非具有较强约束的协议. REST源于Roy Thoma ... 
- C# - 音乐小闹钟_BetaV3.0
			时间:2017-11-22 作者:byzqy 介绍: 音乐小闹钟 BetaV3.0 新鲜出炉了,快来围观吧!上效果图: 是不是觉得顿时变得高大上了许多呢?^_^ 工具/原料: (操作系统:Window ... 
- Python 脚本的执行
			源文件如下,文件名test.py,其中UTF-8根据实际情况而定,Python3默认为UTF-8,所以不用设置: #!/usr/bin/python # -*- coding: UTF-8 -*- p ... 
- CentOS 7.3安装Zabbix3.2
			一.ZABBIX概述 Zabbix是一个基于Web界面的分布式系统监控的企业级开源软件.可以监视各种系统与设备的参数,保障服务器及设备的安全运营. Zabbix的功能和特性: 1.安装与配置简单: ... 
- centos7 修改时间
			2021-07-28 查看日志时发现系统时间不正确,故修改时间 # 查看当前系统时间 date # 修改当前系统时间 date -s "2021-7-28 17:03:00" # ... 
