ride上点击用例不能显示edit信息_接口测试平台代码实现61: 多接口用例1

    终于又序更上了,原谅最近作者几天事情不断。

按照我们之前的计划,需要迅速开启很重要的核心多用例接口。

bb0af9177f12b2deba42f95d96db3777.png

    首先,我们要确定,这个功能的大体设计。

就放在在我们的页面 用例库 中:

1cb86e2029dbdce144bd7cde67fe6c35.png

所以也就是我们很久之前就创建好的P_cases.html:

7bc4f7155b5d51a17546949ee39e2bb3.png

然后来想一下大体设计:

首先是大用例列表,每个大用例 包含很多接口, 可以单独运行。

这个大用例列表 肯定有其 增删改查功能,在数据库一张大用例表中,有id name  备注 等字段

然后就是数不清的小用例,这里每个小用例 就是一个接口,但是并不能直接用我们接口库的数据表,因为不同的用例我们需要进行各种特殊设置接口,比如接口a在 用例A中 请求体中的参数是aaa,在用例B中,请求体参数是bbb。

所以,我们需要再创建一个独立的表 来存放所有小用例,然后每个小用例的基本结构其实和接口的结构差不多,有url ,method,hedaer,body等等,而且还要有 所属的大用例id, 这样的效果是:我们打开一个大用例A,id=1

 然后后台数据直接去 小用例表中 查找所有小用例的所属大用例id == 1的,然后返回前端展示。

       当然小用例表还要有一些其他的字段,比如执行顺序,重试次数,断言设置(包括正则,检索存在,具体路径),提取返回值设置(正则,具体路径),是否跳过等等 我们之后随着更新会不断的有新字段添加的可能。

    后台数据层的设想到此,然后就是页面的设想了。

上面说了,一进入时映入眼帘的应该是 大用例表。看个概念图:

b5b767278cb1671ecf8f25402ad75869.png

可以看到每个大用例 有设置/运行/报告/复制/备注/删除  上面还有个新增按钮。

然后当我们点击设置按钮时,屏幕要显示它所包含的所有小用例,并且按照顺序排列好。

23e69ac53a7134ca19f5374de3e19fa4.png

如图,屏幕左侧滑出了这个小用例列表,上面有三个小用例。 

上面有添加新的小用例的按钮,每个小用例左边都有上下调整顺序的按钮。

当然这时我们点击任意一个小用例,应该要看到这个小用例的具体设置。

bafa51dbaeea01192c23a50e8e86898b.png

如上图,屏幕右侧滑出来了这个 小用例的具体设置页面。

可以看到,其实具体的设置和接口调试的那一套基本类似。不同的地方

主要有俩点:

1是 这里可以自己设置新接口,也可以直接套用接口库中已存好的接口。

d446cde34116fa98cab9ac0aad1147c2.png

然后自己再稍微改改参数即可使用。

还有个主要不同的在于 提取返回值成 公共变量 和 断言:

9e55e4242992c0361e2b857a54a8f89d.png

提取和断言这俩个地方比较难,大家可能会有很多疑问到时候。不过别灰心,这么难的地方,挺过去,你就是王者。

173f9e4efc836166fbd905334df99589.png

当然,大家看到这里面复杂的 说明。其实这也是没办法的,毕竟这里我们相当于创造了几套规则规范,必须按照这样的规范去写,我们后台才能准确的翻译和实现。当然想出这些规则然后用代码实现翻译 和 各种异常处理,非常困难,大家可能理解和学习起来困难,当初创造这些的时候则更困难。好在我已经给大家趟平了坑。

    可能后面我们看到那个mock功能,那个暂时我们这大章不讲,因为优先级并不高。

然后最后是我们的测试报告结果:

9bde5219f827de236ef0b27e306a2750.png

当然 我对自己以前的审美设计一直比较难受,大家可以按照更好的设计实现。 报告中 需要对所有接口的返回值,断言结果,提取结果 进行判断和显示。全部小用例都正确这条大用例才算正确。当然这些结果当我们运行完毕放在哪里呢?一开始我也想过缓存,但是后来觉得不行,因为这个用例的结果和时间是要做为日后的参考依据的,随时点开看,不能每次要看都要重新运行。所以肯定要在数据库中存放好每条小用例的运行结果,那么我们前面说到的小用例的数据层字段中,也要增加这几个结果吧~

    好了,设计到此为止。下一章我们开始正式码代码。

可能有的同学会说 为什么展示的这么好看完善,直播做出来的那么丑呢?

其实这是因为完全体平台中对于ui的打磨消耗了很大一部分比例的精力。而我们同学现在的当务之急是实现功能,过早的优化就是万恶之源嘛~等全部功能差不多了。各位在公司的okr写什么?还不是要写写优化么~

    还有很多同学说前段的js 什么的太复杂了,太难了。

难么?难就对了!简单是留给点点点的。

累么?累就对了!舒服是留给领导的。

我们要悄悄的学习,然后惊艳所有同事。心中要有信念,没有困难的工作,只有勇敢的测开。靠别人是公主~靠你几哇是日本人~靠北啦是台湾人~靠自己才是光荣的测开。

加油吧,测开,只要你足够加油,测试一定会走向更美好的未来。

雄起吧,测开,只要测开雄起,明日太阳将会不复存在,而东方闪耀着的,是测开们努力的模样,早安,测开们~

fc530c0770367a7a8f92b5bfc3cb203e.png

    最近有不少新同学关注了这个用爱发电的公众号,欢迎大家给个好评~

再给互推一下小程序:

过节换头像,艺术字,藏头诗。

a0abdd5e842def5d1abe7a2187e5ac4a.png

399a5e3f48c74dad5e23a476c2603c11.png

5a778f914f21a5e7cbcfcea0422442df.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454054.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MUI - 预加载

打开详情页回到顶部:document.body.scrollTop document.documentElement.scrollTop 0;方式一:preload一次仅能预加载一个页面(除非循环) var subWebview mui.preload({url: examples/accordion.html,id: template_sub,top: styles: {48 …

Bash : 索引数组

Bash 提供了两种类型的数组,分别是索引数组(indexed array)和关联数组(associative array)。本文主要介绍索引数组的基本用法。 索引数组的基本特点 Bash 提供的数组都是一维数组。任何变量都可以用作索引数组。通过 declare 关键字可以显式的声明一个索引数组。数组…

Python 第三方模块之 smtplib

1 python对SMTP的支持 SMTP(Simple Mail Transfer Protocol)是简单传输协议,它是一组用于用于由源地址到目的地址的邮件传输规则。 python中对SMTP进行了简单的封装,可以发送纯文本邮件、HTML邮件以及带附件的邮件。两个核心模块…

Node.js 使用jQuery取得Nodejs http服务端返回的JSON对象示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var httprequire("http");// 创建服务器,创建HTTP服务器要调用http.createServer()函数&#xff0c…

svg 动画_根据AI导出的SVG path制作SVG线条动画

点击右上方红色按钮关注“web秀”,让你真正秀起来前言首先祝大家2019新年快乐,万事大吉,猪事顺利,阖家欢乐。前面文章SVG 线条动画基础入门知识学习到了基础知识,现在来给大家讲讲如何制作SVG 制作复杂图形线条动画。假…

读书笔记2013第3本:《无价》

《无价》这本书是过年前买的,网络书店上写着“老罗推荐”,想着好像是在老罗哪一年的演讲里听过这本书,在豆瓣上评分7.9。读书是为了产生行动,读书时要提的4个问题,1)这本书主要在谈些什么?2&…

Linux下的程序调试——GDB

无论是多么优秀的程序员,都难以保证自己在编写代码时不会出现任何错误,因此调试是软件开发过程中的一个必不可少的 组成部分。当程序完成编译之后,它很可能无法正常运行,或者会彻底崩溃,或者不能实现预期的功能。此时如…

圆锥曲线万能弦长公式_2020高考数学50条秒杀型公式与方法

考试马上就要到了,学姐整理了高考数学50条秒杀型公式和方法,希望能帮助考生们更好地攻克数学难关!高考数学秒杀公式与方法一1,适用条件:[直线过焦点],必有ecosA(x-1)/(x1),其中A为直线与焦点所在…

Python 内置模块之 logging

日志的级别和适用情况 级别适用情况DEBUG详细信息,通常只在诊断问题时对其感兴趣INFO确认工作正常WARNING表示发生了意料之外的事或者在不远的将来会有问题(比如磁盘空间低)。软件依然正常工作ERROR由于一个更加严重的问题,软件不…

数据结构与算法 Python语言描述 笔记

数据结构 线性表包括顺序表和链表,python的list是顺序表,链表一般在动态语言中不会使用。不过链表还是会出现在各种算法题中。 链表 link list 单链表 逆转链表: leetcode 206双链表循环单链表字符串 string 有一个重要的点就是字符串的匹配问…

Flask 跨域问题

一、什么是跨域 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,资源中想访问服务器C的资源。 同源策略是指:…

1.3 使用电脑测试MC20的电话语音功能

需要准备的硬件 MC20开发板 1个https://item.taobao.com/item.htm?id562661881042GSM/GPRS天线 1根https://item.taobao.com/item.htm?id531979567261IPEX接口转SMA接口转接线 1根https://item.taobao.com/item.htm?id531979903836GPS有源天线 1根https://item.taobao.com/i…

前端之 AJAX

AJAX参数详细列表 参数名类型描述urlString(默认: 当前页地址) 发送请求的地址。typeString(默认: "GET") 请求方式 ("POST" 、 "GET")。注意:其它 HTTP 请求方法,如 PUT 和 DELETE ,但仅部分浏览器支持。tim…

html5--1.18 div元素与布局

1.18 div元素与布局 1.元素的分类2.div元素与布局 1、元素的分类 块元素:主要特征是会产生换行效果,自动与其他元素分离成两行;通常可以作为容器在内部添加其他元素。已经学过的块元素有: h1~h6;hr;ul;ol;p;table......... 内联元素:不会产生…

五个优秀的视频格式转换工具

电脑、手机、DVD播放机、PSP……这么多的东西都可以播放视频,但是视频格式又千差万别的,我们该怎么办?这里,我们介绍五个功能强大且易于使用的媒体转换器,用于转换不同类型的视频文件。 一、Super (Windows) Super是一…

艾宾浩斯记忆表格excel_Excel全年学习复习计划表(艾宾浩斯遗忘曲线)

最近准备考在职博士,刷刷学历,不得不又拿起必考的英语来,发现由于这几年敲代码,日常生活词汇忘了很多,只好买本考博词汇背诵,不过三十而立的人背起来确实费劲了,所以开始寻找好的背诵方法。又想…

七个帮助你处理Web页面层布局的jQuery插件

1.UI.Layout jQuery UI布局插件官方网站:http://layout.jquery-dev.com/index.cfm使用大小可折叠的嵌套面板和大量选项创建高级UI布局。布局可以创建任何你想要的UI外观; 从简单的标题或侧边栏到具有工具栏,菜单,帮助面板,状态栏…

前端之 CSS

CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素。 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。 CSS语法 CSS实例 每个CSS样式由两个组成部分:选择器…

在Window下编译OpenH323

前言: 本文只提供VC6.0的编译说明,如果想知道VC.Net下的编译过程请参看原文。 原文 : http://www.voxgratia.org/docs/pwlib_windows.html#msvc_headers 作者 :Craig Southeren 翻译 : Richard 原文…

matlab立体坐标定位_无惧密集建筑,小天才立体定位技术带来最强定位体验

如今,在可穿戴设备市场中,智能手表占据相当大一部分。而作为核心功能之一的定位,在智能手表中发挥着不可替代的作用,尤其是对于儿童电话手表而言。并且,在技术飞速进步,产品迭代加快的当前,儿童…