接口测试平台代码实现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,断言返回值-路径法代码


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


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


相关文章
|
8天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
22天前
|
SQL JavaScript 前端开发
基于Python访问Hive的pytest测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Python、来开发Hive应用的方法,产生的代码如下
49 6
基于Python访问Hive的pytest测试代码实现
|
6天前
|
Java C++
代码文件间重复性测试
本文介绍了如何使用代码相似性检测工具simian来找出代码文件中的重复行,并通过示例指令展示了如何将检测结果输出到指定的文本文件中。
|
8天前
|
人工智能 测试技术 Python
基于 LangChain 的自动化测试用例的生成与执行
本章节详细介绍了如何利用人工智能技术自动化完成Web、App及接口测试用例的生成与执行过程,避免了手动粘贴和调整测试用例的繁琐操作。通过封装工具包与Agent,不仅提升了测试效率,还实现了从生成到执行的一体化流程。应用价值在于显著节省时间并提高测试自动化水平。
25 1
|
16天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
30 4
|
18天前
|
敏捷开发 安全 测试技术
软件测试的艺术:从代码到用户体验的全方位解析
本文将深入探讨软件测试的重要性和实施策略,通过分析不同类型的测试方法和工具,展示如何有效地提升软件质量和用户满意度。我们将从单元测试、集成测试到性能测试等多个角度出发,详细解释每种测试方法的实施步骤和最佳实践。此外,文章还将讨论如何通过持续集成和自动化测试来优化测试流程,以及如何建立有效的测试团队来应对快速变化的市场需求。通过实际案例的分析,本文旨在为读者提供一套系统而实用的软件测试策略,帮助读者在软件开发过程中做出更明智的决策。
|
22天前
|
SQL JavaScript 前端开发
基于Java访问Hive的JUnit5测试代码实现
根据《用Java、Python来开发Hive应用》一文,建立了使用Java、来开发Hive应用的方法,产生的代码如下
49 6
|
9天前
|
机器学习/深度学习 敏捷开发 测试技术
软件测试的艺术:从代码到用户心灵的旅程
在阅读本文之前,让我们先共同思考一个问题:“为什么即使是最小的错误,也可能对用户体验和企业声誉造成巨大的影响?” 正如我们将要探讨的,软件测试不仅是技术活动的一种,更是确保产品质量、优化用户体验和维持品牌声誉的关键步骤。本文将引导您了解软件测试的基本概念,探索其背后的艺术性,以及如何高效地实施测试策略来达到最佳的质量保证结果。
21 0
|
23天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
106 7
Jmeter实现WebSocket协议的接口测试方法
|
23天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
101 3
快速上手|HTTP 接口功能自动化测试
下一篇
无影云桌面