前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台代码实现46:接口调试用户异常操作处理

接口测试平台代码实现46:接口调试用户异常操作处理

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

经过45节的学习,很多同学已经达到了一个不错的水准,可以自主找到一些问题并修复和提出改进方法,我很欣慰。

本节我们要处理的是用户异常操作引起的情况。

大部分处理我们最好都在前端上拦截,这样的好处是不通过请求 就可以瞬间提示错误,所以我们基本只打开P_apis.html就可以了。

  1. 用户没写全就点保存

找到我们ts_save函数,就是保存的函数。

加入下面这一大堆if判断。

代码语言:javascript
复制
 // 判断顶部的数据是否填充完
if(api_name == ''){alert('请输入接口名字!');return}
if(ts_method == 'none'){alert('请选择请求方式!');return}
if(ts_url == ''){alert('请输入url!');return}
if(ts_host == ''){alert('请输入host!');return}

然后是发请求的函数ts_send:加入这三个必须的if判断

上面只是处理用户不写关键数据的时候的处理。

接下来要进行一些特殊处理,大家也可以借此学习一些js的语法。

所有格式判断我们都要在ts_save和ts_send俩个函数中均写好。

  1. 用户的 host不符合格式。

上图中,字符串.slice(0,7) 是截取字符串的意思,0,7 就代表要前7个字符,和python的切片类似。代码含义判断这个host开头是不是http或https。

!= 和python一样就是不等于的意思。&&是且的意思,相当于python的and

后面必须加return,这样js函数就会终止,不会再运行下去了,不然它虽然提示了错误,但是仍然会继续走代码而保存成功。

接下来把这一段复制到ts_send()中:

2.请求头不为空且还不符合字典/json格式:

我们的请求头为空的时候,后台会默认变成{} ,然后代码中转成json发送请求才不会报错。但是防止用户写的不符合标准,所以也要判断。

现在ts_save()中加上:

代码解释:先用if判断header是不是空,不是的话就继续判断能否转换成json,若没问题则继续保存。有问题就捕获异常,提示错误话术并return终止js函数。

代码语言:javascript
复制
 if(ts_header != ''){
      try {
          JSON.parse(ts_header)
      }catch (e) {
          alert('header请求头不符合json规范!');
          return
      }
  }

效果如下:

然后把代码复制到ts_send中:

3.我们发现了一个新bug,就是打开调试层的时候,调试按钮居然显示出来了..

不知道是不是所有小伙伴都和我一样遇到了这个问题。该问题出现的原因在于我们之前加入的按钮组的样式bug。

解决方法:在按钮组上加入属性z-index,强制把层级变成最低的0

4.form-data和x-www-form-urlencoded 的第三方表格仍然出错的同学,请直接复制粘贴最新源码中的P_apis.html全部代码。因为这里我们修改的已经太过复杂了,漏掉一点点代码或者位置不对 都会导致这个第三方表格的bug,这就是不可控度比较高,以前我发现我们公司后台中的日期选择出bug了,前端开发甚至表示改不了,因为第三方的。

当然我们这个表格实际上自己也可以写,但是js代码量会很多。以后有机会我们在直播自己写一个没bug简单的表格吧。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档