开发者社区> 游客pxprrm2iipsfu> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

接口测试平台代码实现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内的具体各个元素了。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
接口测试平台代码实现107:登录态接口-4
接口测试平台代码实现107:登录态接口-4
14 0
接口测试平台代码实现112:登录态接口-8
本节我们要搞定普通接口调试时自动加入登陆态接口返回参数到请求头/体中的后台实现。
33 0
接口测试平台代码实现110:登录态接口-6
我们上节课,前端已经成功拿到了 登陆态接口调试发送的运行结果,也就是返回值 和 提取结果。 如果确认提取结果没问题,我们就切换到请求体tab然后点击保存按钮。就成功保存了。
11 0
接口测试平台代码实现113:登录态接口-9
接口测试平台代码实现113:登录态接口-9
30 0
接口测试平台代码实现139:不同项目大用例登陆态干扰bug测试
虽然上节课我们准备好了测试数据,但是本节我们要想想如何来测,从哪看结果等问题。
16 0
接口测试平台代码实现100:全局域名-7
本节作为全局域名的最后一节,也是代码实现的第100章。 我们本节就来实际去后台进行修改,让全局域名可以真实生效,目前我们接口库接口和用例库步骤,保存的host中,若是全局域名,前面四个字符一定是:“全局域名”
17 0
接口测试平台代码实现65: 多接口用例-5
接口测试平台代码实现65: 多接口用例-5
13 0
接口测试平台代码实现92: 全局请求头-7
我们本节要进行全局请求头的收尾: 保存step的 请求头成功 和 显示 请求头成功 在多用例运行的底层send函数中加入公共请求头
33 0
接口测试平台代码实现62: 多接口用例-2
好了,最近水了好多期,终于要写点代码了。 本节内容,我们搞定这个多接口的大用例 列表相关吧,难度基本为0,都是我们之前用到过的。
21 0
接口测试平台代码实现34:请求体
接口测试平台代码实现34:请求体
18 0
+关注
游客pxprrm2iipsfu
我去热饭
435
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载