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

简介: 经过45节的学习,很多同学已经达到了一个不错的水准,可以自主找到一些问题并修复和提出改进方法,我很欣慰。 本节我们要处理的是用户异常操作引起的情况。大部分处理我们最好都在前端上拦截,这样的好处是不通过请求 就可以瞬间提示错误,所以我们基本只打开P_apis.html就可以了。
  1.  用户没写全就点保存

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

微信图片_20220621120419.png

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

微信图片_20220621120428.png


// 判断顶部的数据是否填充完
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判断微信图片_20220621120434.png

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

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

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

  1. 用户的 host不符合格式。
    微信图片_20220621120441.png

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

!= 和python一样就是不等于的意思。&&是且的意思,相当于python的and微信图片_20220621120452.png

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

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

微信图片_20220621120503.png

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

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

现在ts_save()中加上:

微信图片_20220621120511.png

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

if(ts_header != ''){
      try {
          JSON.parse(ts_header)
      }catch (e) {
          alert('header请求头不符合json规范!');
          return
      }
  }

效果如下:微信图片_20220621120518.png然后把代码复制到ts_send中:微信图片_20220621120524.png

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

微信图片_20220621120531.png

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

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

微信图片_20220621120539.png

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

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

相关文章
|
1月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
190 0
|
3月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
80 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
2月前
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
89 0
|
3月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
650 23
|
4月前
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
137 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
|
5月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
537 24
|
5月前
|
人工智能 自然语言处理 测试技术
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
Codex CLI是OpenAI推出的轻量级AI编程智能体,基于自然语言指令帮助开发者高效生成代码、执行文件操作和进行版本控制,支持代码生成、重构、测试及数据库迁移等功能。
626 0
自然语言生成代码一键搞定!Codex CLI:OpenAI开源终端AI编程助手,代码重构+测试全自动
|
8月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
5月前
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
211 2
|
7月前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
263 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡