Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >接口测试平台代码实现41:调试窗口显示接口内容

接口测试平台代码实现41:调试窗口显示接口内容

作者头像
我去热饭
发布于 2022-05-19 00:57:50
发布于 2022-05-19 00:57:50
4890
举报
文章被收录于专栏:测试开发干货测试开发干货

接口调试层打开后,目前并没有显示这个接口的所有数据。本节就一句一句的把这些数据显示出来吧。

首先,让我们打开P_apis.html,找到打开显示调试层的函数:

如图所示,我们已经显示了 接口的id和name。

我们是需要请求后台拿到最新的接口数据,然后实时根据其请求方式进行显示。

所以我们这里需要写一个请求(当然接口id不可能变,但是名字name其实也应该获取最新的。这里为什么不用进入这个接口库时带的接口数据呢?因为很可能在你闲逛的时候,其他同学已经修改来这个接口,而你这时候打开,显示的还是你之前进入接口库的旧数据,就会造成混乱,随便点一下保存,就会把其他同学辛苦修正的新数据给覆盖掉)

所以,写一个请求:

请求中我们只需要传给后端接口id即可。

然后去urls.py中架好映射:

然后去后台写好这个函数:

因为这次要用到传给前端字典json串,所以要在文件开头导入json

然后写好这个给前端单个api数据的函数:

第一句是获取到前端过来的接口id

第二句是拿到这个接口的字典格式数据

第三句是返回给前端,但是数据要变成json串。

这段代码很常用,大家最好死记硬背下来。

然后我们回过头来看P_apis.html中这个打开函,开始写它接收到后台返回的数据后的动作:

先加一句打印,看看打印出来的对不对。

这样就是成功拿到了这个接口的所有数据。然后就是一点一点给显示在页面即可。首先是name名称。我们抛弃掉之前的显示名称的代码,在这里加上新的实时显示。

然后刷新一下页面,看看前端是否可以正常显示,正常显示名称,说明我们这个链路和设计成功了。

成功后,我们继续补充其他数据:

首先是请求方式:

请求方式是一个下拉框,一个下拉框中是由多个option构成,当每个option被选中时,实际上是这个下拉框本身的value值变成了这个option的value。所以我们只要强行指定下拉框的value = 接口返回值的接口api_method即可:

然后是url host header三个简单的输入框:

完成后即可测试,无bug。

然后就到了最复杂的请求体编码格式环节了:

首先是要确保下面的几个子页面能自动切换到保存的编码格式上。

我们的保存功能是已经做好的,所以这里我们保存none以外一个其他编码格式方便测试。

在打开form-data的时候 意外发现了一个小bug,之前有粉丝反馈过。

这里多出来一列。这是为什么呢?因我们在打开函数中调用了clear初始化函数。这个初始化函数中对于这个第三方表格有一句,添加这个按钮列的代码:

如上图,俩个表格都有。但是我们忘记删除我们一开始调试样式时候加入的这句代码了,导致重复添加了按钮列。也就是在html部分的一个嵌入的,最开始写的那段,需要删除。

删除后再试试看:

发现已经恢复正常了。

然后我们保存一个form-data的内容,至少俩对参数:

点击保存按钮,然后再次打开调试弹层:

可以看到编码格式和请求体内容均已成功在console里获取到:

然后就是该让它们显示在页面上了。

首先是这个子页面切换:

让我们好好看一下这些个子页面到底是什么:

控制它们的按钮就是这样一堆li标签。所以其实我们只需要点击到这几个标签,就能实现自动切换了。

上图中,第一句是我们拼接起来这个#form-data。因为所有的li标签内的a标签的href 都是#开头。我们就是要利用这个href来进行定位。

然后第二句是jquery选择器的语法,意思是li 标签下的a标签中 href 是这个拼接字符串的 元素执行点击click操作。

效果如下,打开调试弹层后,自动切换到来form-data:

我们可以再试试其他几个子页面均可成功被点击。

然后就是请求体显示了。因为请求体显示的格式不同,所以代码也不同。

考虑到本节内容已经很多,所以放在下节了。

最后有需要订书的小伙伴可以后台留言一下,人数够了自然就会出书了。

最近准备出一个新系列,比较剪短,就是点评看过的一些书,优点缺点都会说一下,仅代表个人见解,意见不同的也不要喷哈。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
接口测试平台代码实现43:接口底层请求逻辑
终于结束了接口调试层的前端编写。来到了后台代码处理。其实就是点击Send按钮,我们调用requests来发送请求,并把返回值显示到调试层的返回体中即可,注意实际中这部分会越来越复杂,内容也会越来越多,本教程目前章节只会实现初始的各种请求难度,后续章节可能会不断完善这块。
我去热饭
2022/05/19
4830
接口测试平台代码实现43:接口底层请求逻辑
接口测试平台代码实现106:登录态接口-2
大部分内容我们仍然可以借鉴普通接口调试层的内容,所以打开P_apis.html,找到那个登陆态的div,开始进行添加内部控件,但是也不能全都照搬过来,有一些就不需要,比如接口名字。而因为这个接口一个项目基本也就设置一次,所以优化便利性这种事的优先级不高,精力还是留给那些使用频率高的功能上吧
我去热饭
2022/05/19
1K0
接口测试平台代码实现106:登录态接口-2
接口测试平台代码实现50: 自动异常测试-3
本节开始之前,先解决下关于调试层遗漏的一个设计缺陷。就是当已经打开了一个接口的调试层后,如果直接点击其他接口的调试层便会出现显示错误。这类的问题非常多,我们最好是直接根本上绕过去。
我去热饭
2022/05/19
4810
接口测试平台代码实现50: 自动异常测试-3
接口测试平台代码实现152:加密算法继续更新
这里要注意,因为我们后添加的这个字段,所有之前的数据,很可能这里都是空字符串或None。
我去热饭
2022/05/19
2480
接口测试平台代码实现152:加密算法继续更新
接口测试平台代码实现37:接口请求的保存和取消
本节主要来讲一下,使用者在打开接口调试面板后,点击保存按钮,就会成功保存好,并且再次打开后,能显示出来呢?可能大家会觉得本节课没什么难度,就是简单的保存而已,但是实际上,本节是非常复杂的。因为接口的不同编码格式,我们保存起来的基本只有一个大字符串。要如何存储和展示是需要进行特殊设计的,类似 加密和解密,压缩和解压缩。
我去热饭
2022/05/19
5430
接口测试平台代码实现37:接口请求的保存和取消
接口测试平台代码实现42:各个请求体自动显示
很明显,第二类要简单很多, 所以我们先从第二类入手,迅速解决掉这五个多行本文框的显示,再集中精力对付较难的第一类表格显示。
我去热饭
2022/05/19
6990
接口测试平台代码实现42:各个请求体自动显示
接口测试平台代码实现103:GraphQL-3
上节我们搞定了首页的GraphQL请求功能,但是似乎漏掉了一个功能:显示。也就是当我点击左侧请求记录的时候,右侧需要显示对应的请求数据,但是很显然我们遗漏了GraphQL这个请求体类型。
我去热饭
2022/05/19
2280
接口测试平台代码实现103:GraphQL-3
接口测试平台代码实现109:登录态接口-5
打开P_apis.html,给Send按钮加上onclick并且下面新建login_send函数:
我去热饭
2022/05/19
3490
接口测试平台代码实现109:登录态接口-5
接口测试平台代码实现38: 请求体保存-end
本节课我们处理完剩余请求体,内容较多。因为是直播撸码,所以难免会有一些不完美的地方。大家自行优化。
我去热饭
2022/05/19
4360
接口测试平台代码实现38: 请求体保存-end
接口测试平台代码实现34:请求体
接着上节的开发,我们还差一个请求体,等我们把核心功能开发后,会对交互进行优化。输入更加快捷。
我去热饭
2022/05/19
4150
接口测试平台代码实现34:请求体
接口测试平台代码实现45: 接口调试层异常处理
我们作为一个测试出身,即便做到了测开,可以写各种代码了,但是依然不要忘了我们的技术比不过专业的开发同事,那就要用我们的优点进行弥补。就是自测
我去热饭
2022/05/19
4240
接口测试平台代码实现45: 接口调试层异常处理
接口测试平台代码实现33:接口调试
首先我们要做一个简单的弹层,和上节课的备注弹层一样的做法,这里就给大家快速贴源码了用到的技术都是之前学过的。注意一点,打开弹层后,一定要在弹层的某个地方放入接口id,以便我们之后调试保存时,发出的请求中可以知道当前用户打开的是哪个接口。
我去热饭
2022/05/19
1.1K0
接口测试平台代码实现33:接口调试
接口测试平台代码实现88: 全局请求头-3
本节我们就一起来研究,在接口库调试页面,用例库步骤详情页 这俩个地方如何加入这些项目公共请求头吧。
我去热饭
2022/05/19
4050
接口测试平台代码实现88: 全局请求头-3
接口测试平台代码实现112:登录态接口-8
本节我们要搞定普通接口调试时自动加入登陆态接口返回参数到请求头/体中的后台实现。
我去热饭
2022/05/19
4320
接口测试平台代码实现112:登录态接口-8
接口测试平台代码实现78: 多接口用例-18
我们需要先思考一下。如何进行提取和持久化的设计,也就是说不能光提取就行,需要存放到哪,以便后续接口进行调用:
我去热饭
2022/05/19
2650
接口测试平台代码实现78: 多接口用例-18
接口测试平台代码实现39:接口数据全部保存
我们之前的章节已经解决了各种接口的数据的提取问题,本节的任务就是把这些传给后端,然后保存成功。
我去热饭
2022/05/19
6560
接口测试平台代码实现39:接口数据全部保存
接口测试平台代码实现59-首页重构7
本节基本就是最后一节,上节我们本来以为很简单的重构,结果遇到了恶心的第三方组件bug,所以我就用刷新套路来绕过了这个问题,还省去了clear清空函数,顺便给大家讲了下新增的第二万能参数ooid。在最后我们解决了url,host,header的显示问题。本节就剩处理一下 请求方式/请求体类型/请求体了。
我去热饭
2022/05/19
5060
接口测试平台代码实现59-首页重构7
接口测试平台代码实现40:修改bug
我们的这个系列已经进行了长达12章成品预览和40章纯开发章节,但是基本还没做过完全一点的测试修复bug章节,每次新开发的功能也仅仅停留在单元/函数层面上的自测。 
我去热饭
2022/05/19
4250
接口测试平台代码实现40:修改bug
接口测试平台代码实现46:接口调试用户异常操作处理
经过45节的学习,很多同学已经达到了一个不错的水准,可以自主找到一些问题并修复和提出改进方法,我很欣慰。
我去热饭
2022/05/19
8810
接口测试平台代码实现46:接口调试用户异常操作处理
接口测试平台代码实现52: 自动异常测试-5
找到这个error_play函数,我们已经替换好了请求体,那么接下来就把新请求体和接口id传递给后台即可
我去热饭
2022/05/19
8420
接口测试平台代码实现52: 自动异常测试-5
推荐阅读
相关推荐
接口测试平台代码实现43:接口底层请求逻辑
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档