接口测试平台代码实现105:登录态接口

简介: 接口测试平台代码实现105:登录态接口

 本节开始之前 要纠正一个bug,这个bug算是作者挖的一个小坑,在graphql的实际发送请求的代码中,作者对variables的求值代码不小心写成了int,其实应该用eval,因为这一个错误后其他代码全是复制粘贴,所以导致首页/接口调试/用例执行 三处均存在这个bug,好在榜一大哥使用中发现并给予纠正。

所以我们要改动以下三处:

views.py中的Api_send_home函数:

微信图片_20220702121042.png

views.py中的Api_send函数:

微信图片_20220702121101.png

run_cases.py中的demo函数:

微信图片_20220702121108.png

然后就正常了,欢迎大家持续反馈bug。



      接口测试平台,有个比较重要的功能,就是登陆态接口设置。

那么什么是登录态,一般的app接口 是需要一个token字段来验证 此时的用户是否是登陆状态,登录的又是哪个账号。

   如果这个token不对,那么后台就会给当前账号踢掉。

而这个token是客户端怎么获取到的呢?其实绝大部分都是从登陆接口获取的。

   也就是说,带着用户名 密码 /验证码 的那个接口,它作为第一个接口,是很特殊的,它不像后续接口需要token,它是用来获取token的,然后这个token被客户端当作其他后续接口的请求体/header中 发送出去。

   而token是会变的,每当登陆接口调用了一次,token都会变化一次。我们平时说 一个手机先登陆app,此时它用的是token1,然后另一个手机也登陆同样账号,它用的就是token2, 而后台的缓存/数据库中存储的该账号的token只有一个,所以token1就失效了,第一个手机的请求因为带着失效的token,就会被服务器返回某个错误码,然后客户端接收到这个错误码就会把用户踢出。

   当然上面说的是绝大部分app,还有很多其他的各种操作。比如web端的cookie方式 来判断登陆状态等等。不过话说回来,这一切都是要靠第一个请求,登陆接口来搞定。

   所以我们测试平台为什么要加入这个功能呢?


   比如接口库中,需要测试某个查询好友列表的接口,结果你写完之后每次请求,返回结果都说:请先登陆!

   然后你就要去手动在请求体中加入麻烦的token,甚至还有用户id 等等其他字段。然后再请求才能成功返回。但是这个token你去哪弄呢?你只能通过去请求登陆接口获取。所以相当于你要测试一个接口,就要手动先去调用登陆接口,然后复制返回值的token等字段,然后打开查询好友接口,把这几个字段粘贴进去,然后再请求。这个操作很麻烦。

   所以我们要开发一个 自动加入登陆状态的 功能,在测试查询接口的时候,有个小开关,打开,那么本次请求,就会先去自动请求登陆接口,然后自动把返回值token加入到查询请求的请求体中,然后出现结果。  

   从用户的角度体验,几乎看不出什么额外的麻烦流程。


   那么我们先来制定下要怎么做。

   1.首先,这个登录态接口包含账户信息,我们就不能作为整个平台的公用的。只能放到项目内,因为项目内是个人建立的,后果可以自负。当然后续上了权限管理后,其他人就可以控制看不到自己项目内的内容了。  

   2.作为项目内的一项功能,那么它应该可以作用到接口库和用例库中。

   3.它需要有自己独特的管理页面(弹层),其中包括调试,返回值提取设置,类型选择,客户端选择,预置默认文案等等。

 

   首先我们看底部的按钮:登录按钮,(错别字请自行纠正,博主键盘经常手误打成登陆,大家见谅)


   首先打开P_apis.html,下方找个地方写登陆态的div:

微信图片_20220702121217.png

然后新建script 并内增一个展示函数function:

微信图片_20220702121222.png

内容基本是照搬部分接口调试层的代码。


然后在登录态按钮和这个login_show函数结合起来:

微信图片_20220702121228.png

到此,我们点击按钮 打开登陆态接口的设置层的链路就完成了。下一节我们要开发这个div内的具体各个元素了。

相关文章
|
2天前
|
数据挖掘 测试技术 网络安全
LabVIEW开发卫星测试平台
LabVIEW开发卫星测试平台
|
2天前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
6 0
|
2天前
|
算法 物联网 5G
LabVIEW开发最小化5G系统测试平台
LabVIEW开发最小化5G系统测试平台
10 0
|
2天前
|
算法 数据可视化 API
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
|
3天前
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
8 0
|
3天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
10 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
3天前
|
传感器 Linux 测试技术
xenomai 在X86平台下中断响应时间测试
该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
8 0
xenomai 在X86平台下中断响应时间测试
|
22天前
|
网络协议 安全 测试技术
性能工具之emqtt-bench BenchMark 测试示例
【4月更文挑战第19天】在前面两篇文章中介绍了emqtt-bench工具和MQTT的入门压测,本文示例 emqtt_bench 对 MQTT Broker 做 Beachmark 测试,让大家对 MQTT消息中间 BenchMark 测试有个整体了解,方便平常在压测工作查阅。
116 7
性能工具之emqtt-bench BenchMark 测试示例
|
16天前
|
机器学习/深度学习 数据采集 人工智能
【专栏】AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计
【4月更文挑战第27天】本文探讨了AI在软件测试中的应用,如自动执行测试用例、识别缺陷和优化测试设计。AI辅助工具利用机器学习、自然语言处理和图像识别提高效率,但面临数据质量、模型解释性、维护更新及安全性挑战。未来,AI将更注重用户体验,提升透明度,并在保护隐私的同时,通过联邦学习等技术共享知识。AI在软件测试领域的前景广阔,但需解决现有挑战。
|
4天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
16 0

热门文章

最新文章