接口测试框架中的鉴权处理!

news2024/11/26 21:47:17

接口自动化测试中通常都有鉴权机制,就是判断是否在登录状态下,已登录方可调用接口,未登录则不可调用。本文将带领大家学习使用rest-assured框架实现基于cookies和token的鉴权关联,实现接口自动化测试。

1、基于cookies的鉴权关联

1. 业务接口熟悉

码同学全栈接口项目中有基于cookies的查询余额接口,必须先调用登录接口获取cookie并传递给查询余额接口,两个接口的信息如下

2. 通过抓包查看cookies

在页面上登录银行系统,通过Chrome开发者工具抓包,可以看到登录成功以后接口返回中产生了cookie信息

3. 使用rest-assured框架实现cookie关联

首先,使用脚本调用登录接口,并从返回信息中获取cookie,代码如下,该方法执行完成后会将登录后的cookies存储在代码中的cookies对象中

其次,调用查询余额接口,并在请求信息中添加cookies对象,这样做就可以让查询余额接口在请求时带上有效cookies,代码如下

2、基于token的鉴权关联

1. 业务接口熟悉

码同学全栈接口项目中有基于token的查询余额接口,必须先调用登录接口获取token并传递给查询余额接口,两个接口的信息如下

2. 抓包分析token的产生和传递

在页面上登录银行系统,通过fiddler工具抓包,可以看到登录成功以后接口返回中产生的data信息就是token的值

那我们再分析下查询余额的接口在发起时token信息是如何传递的,依然是fidder工具抓包,我们可以发现在请求的header中有一个字段叫做testfan-token,对应的值就是登录接口返回的token值

3. 使用rest-assured框架实现token关联

首先,使用脚本调用登录接口,并从返回信息中获取token,代码如下,该方法执行完成后会将登录后的token值存储在代码中的token变量中

其次,调用查询余额接口,并在请求信息中增加header信息,这样做就可以让查询余额接口在请求时带上有效token,代码如下

好了,不管是cookies还是token,我们都已经有了在rest-assured框架的关联使用,赶紧去试试吧

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1167087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创建自定义美颜滤镜:使用第三方美颜SDK的步骤指南

美颜滤镜在现代移动应用和直播平台中变得越来越受欢迎。它们可以让用户在自拍照片、视频聊天或实时直播中看起来更加美丽和自信。如果您是一位应用开发者,想要增加美颜滤镜功能,但又不想从头开始构建整个系统,那么使用第三方美颜SDK可能是一个…

【C++ 学习 ㉚】- 超详解 C++11 的右值引用

目录 一、左值和右值 二、左值引用和右值引用 三、移动语义 3.1 - 左值引用的短板 3.2 - 移动构造和移动赋值 四、move 函数 4.1 - remove_reference 的实现 4.2 - move 的实现 五、完美转发 5.1 - forward 的实现 5.2 - 使用场景 很多初学者都感觉右值引用晦涩难懂…

宽以光电厚以激光 组合式测宽测厚仪 性价比更高

对于板材类产品而言,对其几何尺寸的品质检测,往往是宽度与厚度兼具的,为了同时满足两种检测需求,制造了组合式测宽测厚仪。 单独的测宽仪的原理有光电、机器视觉、激光等,光电测宽仪不仅可选择的测量原理多&#xff0c…

若依分离版——配置多数据源(mysql和oracle),实现一个方法操作多个数据源

目录 一、若依平台配置 二、编写oracle数据库访问的各类文件 三. 一个方法操作多个数据源 一、若依平台配置 1、在ruoyi-admin的pom.xml添加依赖 <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version…

tensorflow-gpu 找不到指定模块

排除&#xff1a; 1.python编译器是64位 查询教程 2. cuda cudnn版本 均是12.2 可以向下兼容 cmd&#xff1a; nvcc -V即可 另一种方法 tensorflow官网教程 pip install tensorflow_gpu1.12.0 4.安装torch-gpu 检查所在环境 解决&#xff01;&#xff01; conda install …

瑞禧生物分享~今天是 碲化银粉体 Ag2Te CAS:12002-99-2

碲化银粉体 Ag2Te CAS&#xff1a;12002-99-2 纯度&#xff1a;99% 仅用于科研 储藏条件&#xff1a;冷藏-20℃ 简介&#xff1a;碲化银是一种无机化合物&#xff0c;化学式是Ag2Te。它是一种单斜晶体&#xff0c;并以矿物的形式存在于自然界中。化学计量的碲化银具有n型半导…

生成第一个 Blazor 应用

前言&#xff1a;博主文章仅用于学习、研究和交流目的&#xff0c;不足和错误之处在所难免&#xff0c;希望大家能够批评指出&#xff0c;博主核实后马上更改。 概述&#xff1a;Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架使用 C# 创建丰富的交互式 UI。共享使…

rabbitmq的confirm模式获取correlationData为null解决办法

回调函数confirm中的correlationDatanull // 实现confirm回调,发送到和没发送到exchange,都触发 Override public void confirm(CorrelationData correlationData, boolean ack, String cause) {// 参数说明:// correlationData: 相关数据,可以在发送消息时,进行设置该参数// …

重大喜讯 | UMS攸信技术斩获厦门5G应用大赛三等奖!

近日&#xff0c;第三届厦门5G应用大赛获奖项目名单公示&#xff0c;攸信技术的“AI5G柔性生产缺陷检测示范线”项目脱颖而出&#xff0c;荣获「第三届厦门5G应用大赛三等奖」&#xff01; 第三届厦门5G应用大赛获奖项目名单 本次获奖既是对攸信技术5G技术创新的鼓励&#xff0…

Ribbon负载均衡原理

一、先看下流程图 备注&#xff1a;红色后面都为拦截器的逻辑&#xff0c;主要是加载配置文件【LoadBalancerAutoConfiguration】&#xff0c;对发送http请求的RestTemplate进行包装拦截&#xff0c;逻辑拦在拦截器里面。 二、LoadBalancerAutoConfiguration 负载均衡用到配置…

Spring集成高性能队列Disruptor

Disruptor简介 Disruptor&#xff08;中文翻译为“破坏者”或“颠覆者”&#xff09;是一种高性能、低延迟的并发编程框架&#xff0c;最初由LMAX Exchange开发。它的主要目标是解决在金融交易系统等需要高吞吐量和低延迟的应用中的并发问题。 Disruptor特点 无锁并发&#x…

kibana中文设置

安装目录下&#xff1a; 修改config/kibana.yml文件&#xff0c;添加如下配置 i18n.locale: "zh-CN"如图&#xff1a; 保存后&#xff0c;重启kibana即可

分组select获取每组用户最新时间的那条数据的查询方式

分组select获取每组用户最新时间的那条数据的查询方式,使用子查询内连接的方式实现 selecttp.user_id AS userId,tp.operator,DATE_FORMAT(tp.create_time,%Y-%m-%d %H:%i:%s) AS operateTimefrom 表名 t1 INNER JOIN(select user_id, max(create_time) max_time from 表名whe…

LeakCanary - Android的内存泄漏检测库

官网 GitHub - square/leakcanary: A memory leak detection library for Android. LeakCanary 项目简介 LeakCanary’s knowledge of the internals of the Android Framework gives it a unique ability to narrow down the cause of each leak, helping developers drama…

知识付费系统小程序开发中的最新趋势和技术是什么?

在迅速发展的移动应用市场中&#xff0c;知识付费系统小程序成为了在线学习和知识传递的重要形式。随着技术的不断进步&#xff0c;了解最新的趋势和技术对于开发知识付费系统小程序至关重要。本文将讨论当前在这一领域中备受关注的最新趋势和技术。 1. 跨平台开发框架的崛起…

赢在电商设计!2024年最新电商设计实战技巧盘点

双十一、双十二、黑五的电商大促即将轮番将至&#xff0c;电商运营人迎来大忙季&#xff0c;选品、直播、采购入库、售后……各种环节都是影响电商转化的关键因素&#xff0c;而电商设计作为打通这些环节&#xff0c;打造高转化率电商平台的关键要素&#xff0c;能够吸引用户注…

淘宝(PC端和APP端)商品详情API接口,可批量采集,高并发请求

淘宝&#xff08;PC端和APP端&#xff09;商品详情API接口&#xff0c;可批量采集&#xff0c;高并发请求代码如下&#xff1a; 淘宝商品详情API接口可以获取到商品的详细信息&#xff0c;以下是一个示例&#xff1a; 请求方式&#xff1a;使用HTTP或HTTPS协议&#xff0c;向指…

android studio安卓模拟器启动了但是看不到画面解决办法

当你使用android studio开发软件的时候&#xff0c;可能会遇到这个问题&#xff0c;就是当你点击下拉框中的启动模拟器的时候&#xff0c;看着程序是启动了&#xff0c;并且运行了&#xff0c;但是看不到模拟器界面&#xff0c;如下图&#xff1a; 这个时候&#xff0c;就要停止…

老年性聋不仅是听不到那么简单,如何避免让它来的更晚一些?

你是否有过这样的经历&#xff0c;和老年人聊天时&#xff0c;他们总是让你重复说话&#xff0c;或者说“你说话太小声了&#xff0c;我听不清楚”&#xff1f;这可能是老年性聋的一个信号。 据统计&#xff0c;老年性聋是全球老年人口中第二大常见疾病&#xff0c;也是全球第三…

【React】【react-globe.gl】3D Objects效果

目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖&#xff0c;但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…