接口测试平台代码实现64: 多接口用例-4

简介: 上节我们成功的搞定了大用例的 增加/删除/复制功能本节我们计划搞定设置大用例功能, 也就是:点击设置按钮,左侧弹出小用例(接口) 列表+接口列表相关的数据层实现。

首先打开P_cases.html,找到这个设置按钮,给它加入onclick:微信图片_20220625095431.png

我取名叫show_small() ,意思就是点击后,展示小用例列表,别忘了要传入大用例的id,这样才能确定要展示的是谁的小用例列表。

   然后我们先去写好这个左侧列表的基础div容器,默认是隐藏的,点击后出现。

微信图片_20220625095446.png

<div id="left_div" style="background-color: white;border: 1px solid black;
                            z-index: 998;display: none;width:48%;height:100%;
                            position:absolute;right:100%;top:0px;overflow-y: visible">
    我是内容
</div>

注意这里么的style的设置:

;position:absolute;right:100%;

这部分,是固定位置,并且距离右边界100%, 距离右边100%,那么就是这个样子,就好像是藏在了屏幕的左边我们看不到的一样。微信图片_20220625095452.png

然后我们点击之后,不但要给div的display属性变为显示,还要给它滑动到屏幕视线里,也就是距离右边界100% - 48%的位置,48%是它自身的宽度。

变成这样:

微信图片_20220625095458.png

然后我们现在去写这个show_small()函数:

微信图片_20220625095508.png

好,这里的逻辑要给大家细细说一下:

首先,我们点击大用例a的设置按钮时候,这个div滑动出来,也就是走的if。

然后我们去点击 大用例b的设置,这个div 我们做了一个动画效果,就是先快速撤回到左侧屏幕之左,然后再快速滑回来,这个过程中把小用例列表给切换成大用例b的了,走的else。


这里我们也学习了jquery的新方法: .css() 直接改style中的属性,然后.animate是带动画效果的改距离右边界的right的属性。

源码如下:

<script>
    function show_small(case_id) {
        if(document.getElementById('left_div').style.display == 'none'){
            $("#left_div").css("display","block");
            $("#left_div").animate({right:'52%'},'fast');
        }else{
            $("#left_div").css("display","none");
            $("#left_div").animate({right:'100%'},'fast');
            $("#left_div").css("display","block");
            $("#left_div").animate({right:'52%'},'fast');
        }
    }
</script>

刷新页面,看看效果:微信图片_20220625095517.png

看来是成功滑动出来了。当然具体内部展示效果还需要我们一句一句的写,这里我们要设计下这个小用例列表的展示:

并不是简单的 像大用例列表那样,一进入页面的时候就带数据进来展示了。

而是当用户点击不同设置按钮的时候,通过请求获取实时的小用例列表,然后通过js的操作展示在这个div上。

而这段用来展示的js 就相当于一个刷新功能了,只是属于局部div刷新,并不是刷新整个页面。

   但是具体效果我们可以先在html里写死俩个,效果调好了,我们在用js实现,最后删掉这俩个展示用的小用例接口html代码 即可。

微信图片_20220625095523.png


这个左侧大div中,我们设置了三个按钮,然后还有一个真正装小用例列表的div,这个小div就是我们后续用js控制刷新展示的div。我们现在先在这个小div里写几个小用例实体,设计下展示效果:微信图片_20220625095529.png微信图片_20220625095534.png

暂时我们先用这个方式吧~ 关于点击效果和上下调整位置的功能,我们之后再加即可。


   所以删掉这三个demo展示,然后去写js,新建这个刷新小用例列表的函数

微信图片_20220625095539.png

然后这个里面我们用js实现的话,是需要去从后台获取到小用例数据才可以。所以这么写:微信图片_20220625095544.png

这个case_id就是我们一路传过来的大用例的id。后台根据这个id返回旗下所有小用例数据。然后我们接受到了这个ret后,解析,清空小div的内容,来换上新的内容即可。


思路很清晰,接下来就开始实现


忘了我们要展示个标题文案了,就是让人知道我现在打开的是哪个大用例。。。

微信图片_20220625095554.png

在底部加上这个放置id和名称的 文案段落。

然后在js中控制显示:

微信图片_20220625095603.png

当然,我们发现,我们这个show_small函数中并没有Case_name,所以我们要在一开始的时候 加上case_name传进来。

微信图片_20220625095612.png这三处红线,请确保不要出错。

然后我们刷新页面 ,看看效果:

微信图片_20220625095619.png

这时候我们点击不同大用例的设置按钮,会发现动画效果,并且上面的数据也变化了:微信图片_20220625095625.png

好了,让我们继续回归主线, 既然要从后台获取到这些小用例的数据,那首先我们要去构造好数据库中的这个小用例表才行。

先来想一想这个小用例都包含什么字段呢?

   id,自动的不用管

   Case_id, 所属的大用例id

   name,小用例的简单名字或描述

   index, 当前序号,影响我们后续的执行顺序

   api_method,请求方式

   api_url,请求url

   api_host,请求host

   api_header, 请求头

   api_body_method ,请求体类型

   api_body, 请求体

   get_path , 提取返回值-路径法代码

   get_zz ,提取返回值-正则法代码

   assert_zz ,断言返回值-正则法代码

   assert_qz,断言返回值-全文检索是否存在法代码

   assert-path,断言返回值-路径法代码


好了,暂时就需要这么多。我们之后还有很多其他字段比如公共请求头/变量/验签算法等。


好了,篇幅关系,本文内容到此结束,下节课我们继续实现吧~


相关文章
|
5天前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
11天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
42 3
|
14天前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
65 1
|
1月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
49 2
|
14天前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
40 0
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
63 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
245 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
253 3
快速上手|HTTP 接口功能自动化测试
|
2月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
49 5
|
1月前
|
JavaScript 前端开发 API
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
vue尚品汇商城项目-day02【9.Home组件拆分+10.postman测试接口】
40 0
下一篇
无影云桌面