python+excel接口自动化获取token并作为请求参数进行传参操作

1、登录接口登录后返回对应token封装:

import json
import requests
from util.operation_json import OperationJson
from base.runmethod import RunMethod
class OperationHeader:

  def __init__(self, response):
    self.response = json.loads(response)

  def get_response_token(self):
    '''
    获取登录返回的token
    '''
    token = {"data":{"token":self.response['data']['token']}}
    return token

  def write_token(self):
    op_json = OperationJson()
    op_json.write_data(self.get_response_token())

if __name__ == '__main__':

  url = "http://xxxx.com"

  data = {
    "username": "1111",
    "password": "123456"
  }
  res=requests.post(url,data).json
  op = OperationHeader(res)
  op.write_token()

2、将登录接口返回的token存储在一个json文件中:

3、根据excel中对应的header字段(为了更容易看可以自行再封装及excel增加一列token字段)为yes时,读取保存token的文件数据,并通过将请求数据和token数据合并为一个请求数据后再作为一个请求数据发起请求:

request_data=dict(request_data,**token) # 把请求数据与登录token合并,并作为请求数据

res = self.run_method.run_main(method, url, request_data) # 再将合并的数据作为一个请求数据发起请求

补充知识:python读取Excel接口用例进行接口自动化并写入结果

前提准备:需要导入对应的库和准备Excel接口测试用例

续上:

源文件数据展示

执行后结果展示

以上这篇python+excel接口自动化获取token并作为请求参数进行传参操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 命令行运行Python脚本时传入参数的三种方式详解

    如果在运行python脚本时需要传入一些参数,例如gpus与batch_size,可以使用如下三种方式. python script.py 0,1,2 10 python script.py -gpus=0,1,2 --batch-size=10 python script.py -gpus=0,1,2 --batch_size=10 这三种格式对应不同的参数解析方式,分别为sys.argv, argparse, tf.app.run, 前两者是python自带的功能,最后一个是tensorfl

  • 使用python实现接口的方法

    接口基础知识: 简单说下接口测试,现在常用的2种接口就是http api和rpc协议的接口,今天主要说:http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串: 接口协议:http.webservice.rpc等. 请求方式:get.post方式 请求参数格式: a. get请求都是通过url?param=xxx&param1=xxx b. post请求的请求参数常用类型有:application/json.applicat

  • python+requests实现接口测试的完整步骤

    本文包括requests库的安装过程.requests库的基本语法以及一个实例(携带token登录对人员进行注册) 一.requests安装 可以通过控制台输入命令pip install requests安装requests,但是我这里主要介绍pycharm工具中安装requests 一张图解释安装步骤,简单快捷 二.requests常用语法 1.基本请求方法,包含参数传递 (1)get参数传递,示例: url="xxxxx" xx={ "xxx":"xx

  • python+excel接口自动化获取token并作为请求参数进行传参操作

    1.登录接口登录后返回对应token封装: import json import requests from util.operation_json import OperationJson from base.runmethod import RunMethod class OperationHeader: def __init__(self, response): self.response = json.loads(response) def get_response_token(self

  • python+pytest接口自动化之token关联登录的实现

    目录 一. 什么是token 二. token场景处理 这里介绍如下两种处理思路. 1. 思路一 2. 思路二 三. 总结 在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录成功后,返回参数中会包含token,它的值为一段较长的字符串,而后续去请求的请求头中都需要带上这个token作为参数,否则就提示需要先登录. 这其实就是状态或会话保持的第三种方式token. 一. 什么是token token 由服务端产生,是客户端用于请求的身份令牌.第一次登录成功时,服务端会生成一个

  • 基于Python的接口自动化读写excel文件的方法

    引言 使用python进行接口测试时常常需要接口用例测试数据.断言接口功能.验证接口响应状态等,如果大量的接口测试用例脚本都将接口测试用例数据写在脚本文件中,这样写出来整个接口测试用例脚本代码将看起来很冗余和难以清晰的阅读以及维护,试想如果所有的接口测试数据都写在代码中,接口参数或者测试数据需要修改,那不得每个代码文件都要一一改动?.因此,这种不高效的模式不是我们想要的.所以,在自动化测试中就有个重要的思想:测试数据和测试脚本分离,也就是测试脚本只有一份,其中需要输入数据的地方会用变量来代替,然

  • python+requests接口自动化框架的实现

    为什么要做接口自动化框架 1.业务与配置的分离 2.数据与程序的分离:数据的变更不影响程序 3.有日志功能,实现无人值守 4.自动发送测试报告 5.不懂编程的测试人员也可以进行测试 正常接口测试的流程是什么? 确定接口测试使用的工具----->配置需要的接口参数----->进行测试----->检查测试结果----->生成测试报告 测试的工具:python+requests 接口测试用例:excel 一.接口框架如下: 1.action包:用来存放关键字函数 2.config包:用来

  • python+pytest接口自动化参数关联

    目录 前言 一.什么是参数关联? 二.有哪些场景? 三.参数关联场景 四.脚本编写 1.在用例中按顺序调用 2. 使用Fixture函数 五. 总结 前言 今天呢,笔者想和大家来聊聊python+pytest接口自动化测试的参数关联,笔者这边就不多说废话了,咱们直接进入正题. 一.什么是参数关联? 参数关联,也叫接口关联,即接口之间存在参数的联系或依赖.在完成某一功能业务时,有时需要按顺序请求多个接口,此时在某些接口之间可能会存在关联关系.比如:B接口的某个或某些请求参数是通过调用A接口获取的,

  • python+pytest接口自动化之session会话保持的实现

    目录 前言 一.session(会话) 二.会话保持 三.python进行session会话保持 总结 前言 在接口测试的过程中,经常会遇到有些接口需要在登录的状态下才能请求,否则会提示请登录,那么怎样解决呢?我们可以通过Cookie绕过登录,其实这就是保持登录状态的方法之一.那么今天笔者想讲通过session进行会话保持. 一.session(会话) session,即会话.那么什么又是会话?我们来看一下会话的生存周期就能大致明白,如下: 开始:客户端(通常是浏览器)-->发送第一个请求-->

  • 基于Python的接口自动化unittest测试框架和ddt数据驱动详解

    引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错,后面的用例就无法执行,还有在运行大量的接口测试用例时测试数据如何管理和加载.针对测试用例加载以及执行控制,python语言提供了unittest单元测试框架,将测试用例编写在unittest框架下,使用该框架可以单个或者批量加载互不影响的用例执行及更灵活的执行控制,对于更好的进行测试数据的管理和加载,这里我们引入数据驱动的模块:ddt,测试数据和

  • python+pytest接口自动化之日志管理模块loguru简介

    目录 安装 简单示例 add()常用参数说明 使用 python自带日志管理模块logging,使用时可进行模块化配置,详细可参考博文Python日志采集(详细). 但logging配置起来比较繁琐,且在多进行多线程等场景下使用时,如果不经过特殊处理,则容易出现日志丢失或记录错乱的情况. python中有一个用起来非常简便的第三方日志管理模块--loguru,不仅可以避免logging的繁琐配置,而且可以很简单地避免在logging中多进程多线程记录日志时出现的问题,甚至还可以自定义控制台输出的

  • Python脚本开发中的命令行参数及传参示例详解

    目录 sys模块 argparse模块 Python中的正则表达式 正则表达式简介 Re模块 常用的匹配规则 sys模块 在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验. python可以使用 sys 模块中的 sys.argv 命令来获取命令行参数,其中返回的参数是一个列表 在实际开发中,我们一般都使用命令行来执行 python 脚本 使用终端执行python文件的命令:python

  • java 获取request中的请求参数代码详解

    1.get 和 post请求方式 (1)request.getParameterNames(); 获取所有参数key后.遍历request.getParameter(key)获取value (2)request.getParameterMap() .直接包含参数key和value值,简单方便 Map<String, String[]>maps = request.getParameterMap(); for (Map.Entry<String, String[]> entry :

随机推荐