让我欢喜让我忧的接口测试【token解析】

2023-12-13 15:48

本文主要是介绍让我欢喜让我忧的接口测试【token解析】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        有机会接触接口测试,刚开始有些兴奋、有点激动,认为这是一项非常有挑战性的工作。。。。。。

        可当真正面对十几个接口的时候,我傻眼了,一排排的POST, GET, PUT, HEAD.....的请求方式,我在问自己:我该怎么去模拟这些请求?看着窗外的云,我陷入了恐慌...

但既然来了,就得勇敢的面对。之前做过python UI 自动化,对python的语法基本了解一些,接下来就是一阵狂“搜”,电脑上面不知道打开了多少个百度页面,从那些乐于分享的好心人的文章里面,我慢慢的学会了GET请求,好兴奋,果然能模拟web请求!但是后面要实现持续集成,光写了几行代码,很难实现这个。得有个自动化框架。。。。。于是我勇敢的向老大推进"Robot Framework" 这个框架,之前用来做过web UI自动化测试,但是接口还从来未曾触摸过。

        现在问题来了,用RF怎么实现自动化,这是个关键字驱动的框架,我该用哪些关键字去模拟web请求?我再一次陷入了恐慌....

        好在有RF扣扣群,里面的高人很多,帮我不少忙,真心感谢你们,你们是可爱的人!!

        通过导入RequestsLibrary库,可以在RF上实现GET请求,但接口测试还是要结合业务,看你实现什么功能,比如:这里要实现一个登陆后获取用户信息的接口


        当我看到这个token的时候,压根不知道它是个神马东西,于是又去百度狂“收”,都是一些关于token的说明,没有关于它的操作,我的工作block了,我无法操作这个token。百度搜索也许不会有直接的结果,但是你从人家的描述中可以受到启发。于是我用fiddler去抓包查看,果然有戏:原来登录成功后,服务端会返回一个token回来:

        于是,我从返回参数下手,多谢pycharm的自动提示功能,当我用代码实现的时候,敲入respons.之后,出来很多关于response的方法,其中就有cookie,header之类的,我果断获取,然后打印出来,确实有“set-cookie”这样的key,它的value就是token=xxxxx-xxxxx-xxxx-xxx,我想我可以获取到这个token了。

        再回到开头那个接口,web请求里面带有Cookie:token=xxxxx-xxxxx-xxxx-xxx这样的参数,再抓包看一下,的确是在请求的header里面的东西:

于是我在web请求的header里面果断封装这个参数去请求接口(其他参数这里不讲):

然后就神秘的获得了接口的返回值:200, {id: 65633265896}


总之,token就是由服务端生成的一个经过加密的用户信息(比如:用户id之类的),用户登录之后,执行系统相关的操作,服务器可能会要求请求参数中带有这个token并做校验,如果客户端传入的这个token跟服务端的值不一致,接口就会请求失败,这样也是达到安全的目的吧



这篇关于让我欢喜让我忧的接口测试【token解析】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/489020

相关文章

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

SpringBoot项目引入token设置方式

《SpringBoot项目引入token设置方式》本文详细介绍了JWT(JSONWebToken)的基本概念、结构、应用场景以及工作原理,通过动手实践,展示了如何在SpringBoot项目中实现JWT... 目录一. 先了解熟悉JWT(jsON Web Token)1. JSON Web Token是什么鬼

在C#中合并和解析相对路径方式

《在C#中合并和解析相对路径方式》Path类提供了几个用于操作文件路径的静态方法,其中包括Combine方法和GetFullPath方法,Combine方法将两个路径合并在一起,但不会解析包含相对元素... 目录C#合并和解析相对路径System.IO.Path类幸运的是总结C#合并和解析相对路径对于 C

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11