前言

在接口测试中我们经常是需要一个登陆token,或者获取其他用到的参数来关联下一个接口用到的参数。这里介绍一些本人常用的方法。

一、简介

不过在哪里我们也是能实现自动化api测试的,我们都知道token一般都会在这几个地方:

1.返回参数的token;

2.返回头部信息中;

3.上一个页面中;

二、取 token 常用方法

1.在返回参数中,如json:

R_json = {
"code": 200,
"message": "登录成功",
"token": "ef135bce4284s45ab5967fdf22e81fa2"
} print(R_json["token"])

2.在返回参数中还有,json嵌套list、json:

# 多层嵌套取token值
R_json = {"jjson": [
{
"code": 200,
"message": "账号或密码错误",
"token": ""
},
{"code": 200,
"message": "登录成功",
"token": "ef135bce4284s45ab5967fdf22e81fa2"
}
]} print(R_json["jjson"][1]["token"])

3.在返回参数中,是html或者是raw文本显示的我们可以通过正则取到值:

常用的正则有以下三种:

①取中间:xxx(.+?)xxx

②取后面:xxx(.+?)$

③取前面:^(.+?)xxx

import requests
import re # html 中常用到 re 取值
url = 'https://www.baidu.com'
s = requests.get(url)
res = s.content.decode('utf-8') token = re.findall('href=//(.+?) name', res) # 取中间
print(token) # 取到的是 list
print(token[0]) # 所以我们一般[0],取第一个即可。

4.在响应头部中

url = 'https://www.baidu.com/'
s = requests.get(url)
print(s.headers) # 如果token在返回头部信息中我们可以这样获取
print(s.headers["Cache-Control"])
token = re.findall("no-cache, (.+?), ", s.headers["Cache-Control"])
print("token是:"+token[0])

看到了此,是不是觉得re正则还是很实用的呢?赶紧去随便请求个接口拿到一个你想要的值吧!!!

欢迎来QQ交流群:482713805

python接口自动化4-常用取token值方法的更多相关文章

  1. Python接口自动化【requests处理Token请求】

    首先说一下使用python模拟登录或注册时,对于带token的页面怎么登录注册模拟的思路: 1.对于带token的页面,需要先从最开始的页面获取合法token 2.然后使用获取到的合法token进行后 ...

  2. python接口自动化(十)--post请求四种传送正文方式(详解)

    简介 post请求我在python接口自动化(八)--发送post请求的接口(详解)已经讲过一部分了,主要是发送一些较长的数据,还有就是数据比较安全等.我们要知道post请求四种传送正文方式首先需要先 ...

  3. python接口自动化-Cookie_绕过验证码登录

    前言 有些登录的接口会有验证码,例如:短信验证码,图形验证码等,这种登录的验证码参数可以从后台获取(或者最直接的可查数据库) 获取不到也没关系,可以通过添加Cookie的方式绕过验证码 前面在“pyt ...

  4. python接口自动化28-requests-html爬虫框架

    前言 requests库的好,只有用过的人才知道,最近这个库的作者又出了一个好用的爬虫框架requests-html.之前解析html页面用过了lxml和bs4, requests-html集成了一些 ...

  5. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

  6. python接口自动化 -参数关联(一)

    原文地址https://www.cnblogs.com/yoyoketang/p/6886610.html 原文地址https://www.cnblogs.com/yoyoketang/ 原文地址ht ...

  7. python接口自动化24-有token的接口项目使用unittest框架设计

    获取token 在做接口自动化的时候,经常会遇到多个用例需要用同一个参数token,并且这些测试用例跨.py脚本了. 一般token只需要获取一次就行了,然后其它使用unittest框架的测试用例全部 ...

  8. python接口自动化5-Json数据处理

    前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...

  9. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

随机推荐

  1. MySQL字符类型学习笔记

    目录 一.字符集和字符编码 1.1.字符集 1.2.字符编码 二.字符集排序规则 2.1.排序规则定义 2.2 .排序规则特征 三.CHAR和VARCHAR 3.1.CHAR类型 3.2.VARCHA ...

  2. Nginx 转发页面跳转重定向

    简介 Nginx在反向代理过程中,通过重定向跳转时会找不到URL.是因为经常没有配置Host header 的端口,需要如下标红部分一样配置端口号. 只添加Host重定向之后,就会没有端口号. 方案 ...

  3. Spring核心(IoC) 入门解读

    什么是IoC容器和Bean? 说到容器,就是用来装东西,那么这里边装的是什么那?是bean对象.那么你会问什么是bean?这就要从很久很久以前说起,当我们创建对象的时候,我们会new一个对象出来,但是 ...

  4. mysql修改数据 -- 主键冲突

    mysql 插入数据唯一键冲突 前提: 修改数据三种可用的方法解决主键冲突的问题 1. insert into ... on duplicate key update set ... 2. updat ...

  5. Linux下载——下载文件的命令

    Linux下载——获取网络文件的命令 摘抄:本文主要学习了在Linux系统中如何下载文件的命令. wget命令 wget命令是一个用来下载文件的命令,可以在后台运行,在用户退出之后仍能继续下载,支持代 ...

  6. springmvc学习笔记三:整合JDBC,简单案例==数据库事务配置(切面)

    package cn.itcast.bean; import org.springframework.jdbc.core.PreparedStatementSetter; public class U ...

  7. Srping MVC ant路径匹配

    背景 最近有一个功能设计path匹配,开发说支持ant匹配,这是我第一次听说这个词,赶紧补一下功课. Ant匹配规则 1.前言 (1)SpringMVC的路径匹配规则是按照Ant来的,实际上不只是Sp ...

  8. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?

    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...

  9. Android监视器概述

    还望支持个人博客站:http://www.enjoytoday.cn Android监视器可帮助您分析应用程序的性能,以便您优化,调试和改进它们. 它可以让您从硬件设备或Android模拟器监控应用程 ...

  10. 【LeetCode】TreeNode类实现解析(java实现)

    https://blog.csdn.net/styshoo/article/details/52865386 在LeetCode中,TreeNode是经常用到的一个结构体,表示数据结构树(Tree)中 ...