自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(114)
  • 收藏
  • 关注

转载 接口测试平台-112: 首页优化2期 竖线右侧:数据看板+图形看板

1. 数据看板打开Home.html:{# 数据统计 #}<div style="background-color: #eefaff;min-height: 100px;width:-webkit-calc(100% - 340px); margin-left: 342px;position: fixed;bottom: 0px;box-shadow: -4px -4px 8px #e3e3e3;padding: 10px"> <div

2021-02-10 15:38:19 592

转载 接口测试平台-111: 首页优化2期 竖线左侧

1. 默认隐藏左侧菜单:加入进入页面时默认自动点击隐藏菜单按钮。{# 首页默认打开菜单 #}<script> document.getElementById('menu_btn').click();</script>2.左侧记录高度缩短,留下空白以他用3. 左侧记录放到左下角:4. 中间竖线颜色由黑变淡灰:5. 添加横线,放在请求记录上方:<!-- 请求记录上方横线 -->&...

2021-02-05 18:52:50 208

转载 接口测试平台-110: 登陆态cookie持久化

1.requests的会话保持这个功能可以让本次运行的所有接口,全部共用最开始的那个登陆接口生成的cookie,这种设计永远没有过期。其实核心的使用就是requests.session() 方法例子:a =requests.session()登陆接口= a.request(url,method,headers,params,data)接口A =a.request(url,method,headers,params,data)接口B =...

2021-02-05 15:18:07 248

转载 接口测试平台-109: 用例库增加项目公共登陆态+header判空优化

1. 页面打开P_cases.html,找到id为right_div标签,从P_apis.html复制2. 修改库表,models.py,DB_step同步并生效:3.初始化js函数4. 后端方法views.py现在来测试一下:保存,展开等功能全部正常...

2021-02-04 14:04:17 120

转载 接口测试平台-108: 接口库增加项目公共登陆态 发送请求

1. 调用登陆态接口并解析返回登陆态,views.py# 调用登陆态接口def project_login_send_for_other(project_id): # 第一步,获取数据 login_api = DB_login.objects.filter(project_id=project_id)[0] login_method = login_api.api_method login_url = login_api.api_url login_host

2021-02-04 13:35:40 109

原创 Python字典合并

实例 1 : 使用 update() 方法,第二个参数合并第一个参数def Merge(dict1, dict2): return (dict2.update(dict1))# 两个字典dict1 = {'a': 10, 'b': 8}dict2 = {'d': 6, 'c': 4}# 返回 Noneprint(Merge(dict1, dict2))# dict2 合并了 dict1print(dict2)实例 2 : 使用 **,函数将参数以字典的形式.

2021-02-03 14:12:52 174

转载 接口测试平台-107: 接口库增加项目公共登陆态选择+保存、解决请求体是返回体的bug

在P_apis.html,找到调试弹层,先找个位置给它加上这个登陆态的开关:<input type="text" id="ts_api_name" placeholder="请在此输入接口名称" style="padding-left:5px; width: 30%; height: 40px; color: #329104" /><select name="ts_login" id="ts_login" style="color: black; font-size: medi

2021-02-02 13:48:19 67

转载 接口测试平台-106: 番外-正交工具 excel导出

大沙发大沙发但是

2021-01-07 16:29:28 244

转载 接口测试平台-101: 项目公共登陆态弹框 UI

登陆态接口,先来制定下要怎么做:这个登录态接口包含账户信息,就不能作为整个平台的公用的,只能放到项目内。因为项目内是个人建立的,后果可以自负。当然后续上了权限管理后,其他人就可以控制看不到自己项目内的内容了。 作为项目内的一项功能,那么它应该可以作用到接口库和用例库中。 它需要有自己独特的管理页面(弹层),其中包括调试,返回值提取设置,类型选择,客户端选择,预置默认文案等等。首先看底部的按钮:登录按钮,首先打开P_apis.html,下方找个地方写登陆态的div:然...

2021-01-06 19:24:54 234

转载 接口测试平台-102: 修改项目公共请求头bug 和 项目公共登陆态弹框 回填数据+关闭

首先先改正一下 榜一大哥提出的bug,就是当选择完公共请求头后取消选择,然后再请求就会报错的问题:在views.py中进行改正,在Api_send函数中加了一个if判断:if i !='' :

2021-01-06 19:24:49 225

转载 接口测试平台-105: 项目公共登陆态接口 保存+调试

1. 保存分两步,1-获取,2-发送。依然是复制了普通接口的保存函数进行了全部替换成login_并增删了一些字段的方法{# 保存 #}function login_save(){ // 获取所有接口设置数据 var login_method = document.getElementById('login_method').value ; var login_url = document.getElementById('login_url').value ;

2021-01-06 19:24:44 237

转载 接口测试平台-104: 番外-正交工具实现

所谓正交,其实就是对 多个输入条件 的多个子状态,生成用例的方法。1. 前端页面首先在正中央新建一个div,作为容器:

2021-01-06 19:24:40 182

转载 接口测试平台-103: 番外-正交工具 简介+菜单

因为不少粉丝反馈,想尽快实现学习一些 紧急的业务需求,比如正交计算工具。可是按照之前的设计,这些工具类都会出现在最新的数据平台中,可是数据平台因为中途改了技术栈,作者目前正在拖更设计状态,等到成品完成,怕是要几个月了。而很多小伙伴已经习惯了接口测试平台的开发思想和技术方法,很多也希望不要搞太多的测试平台,最好都能集中在一个大平台上。有很多小伙伴 在公司内学习这套平台,甚至小有成就的在自己本地电脑上长期运行来给同事使用,但是如果多个平台在自己本地的小笔记本上,那还是很容易出现资源冲突...

2021-01-06 19:24:35 619

转载 接口测试平台-98: 首页GraphQL请求 处理前端传给后端,并显示

1. 增加高度(行数)之前10行,改成14行:

2021-01-06 19:24:30 257

转载 接口测试平台-100: 用例库GraphQL请求 前端+显示+保存

1. 前端首先打开P_cases.html,找到步骤详情页的请求体类型部分,然后添加相关dom:一样的去P_apis.html中复制粘贴后 如图上。效果如下:2. 显示show_step:if (ret.api_body_method === 'GraphQL') { body_plan_G_Q = ret.api_body.split('*LR*')[0] body_plan_G_G = ret.api_body.split('*LR*')[1] .

2021-01-06 19:24:26 173

转载 接口测试平台-99: 接口库GraphQL请求 前端+显示+发送+保存

1. 显示打开Home.html,找到这段代码:

2021-01-06 19:24:21 278

转载 接口测试平台-45:接口调试用户异常操作处理

是的

2021-01-06 19:24:15 547

转载 接口测试平台-97: 头像闪烁修复+首页GraphQL请求前端

1. 头像刷新闪烁bug修复每次刷新页面,个人头像的图片都会全屏显示,闪烁一下再回到正常位置和大小。用个可怕的头像的时候尤其吓人。先打开welcome.html,找到这个个人头像的代码 img标签:注意看他的src超链接,是写在自己本身属性里的,全屏闪烁也是因为它和其他标签元素都同时加载引起的,它加载出来的时候,其他元素还没有完全加载完,它就像失控一样充满屏幕。不要直接自带这个超链接,而是等页面全部加载完了,通过一个自动运行的script来赋予img标签的这个超链接即可。众所周知,s

2021-01-06 19:24:10 233

转载 接口测试平台-96: 项目公共域名 嵌入接口库、用例库、首页,并实现

本节就来实际去后台进行修改,让全局域名可以真实生效,目前接口库接口和用例库步骤,保存的host中,若是全局域名,前面四个字符一定是:“全局域名”所以后台函数依此来进行识别,若是全局域名,则用“-”进行分割,取后面的域名id,去项目全局域名表中找到它,把它的host拿出来使用即可。这样每次都是去拿最新的,保证了域名一变,所有接口都跟着变的简单操作。实际测试中,用例或接口经常因为切换环境导致域名变化,所以这里就完美解决来切换环境的问题了。首先打开views.py,先搞定接口库接口调试的部分:.

2021-01-06 19:24:05 153

转载 接口测试平台-95: 项目公共域名 库表设计+添加映射+增删改查

本节要开始弄公共请求头了。大家会不会有一种,不知道要怎么下手的感觉,其实很简单。可以看下目前的结构,在下面写一个全局域名。其实整体设计和全局请求头基本一致,只是当中的标签id 数据字段 函数名需要更改。前端如此,urls.py,和views.py还有models.py基本都是复制粘贴全局请求头的,这样不就简单了么?不要怀疑这种借鉴抄袭copy的方法,这其实是最正常和常见的方法,谁还能天天写什么都需要去创新,去创造,去设计?那不累死了。毕竟最高级的程序员 往往会使用最简单的code方式:ctrl+c.

2021-01-06 19:24:00 236

转载 接口测试平台-94: 全局域名 智能联想

全局域名这里目前已经搞定了域名管理 部分。也就是当用户请求的时候我们偷偷存了份 host,并且去重。本节就来研究下,如何在用户调试接口的时候,可以联想自动输入。这个小技巧其实很简单,但是非常实用。首先打开P_apis.hmtl,找到调试层的host输入框,关闭常用历史记录:现在你在点击 这个输入框,它也不会显示历史输入记录了。然后要让它显示域名库的内容。要在html页面中设计一个列表存放所有的host,并让host输入框绑定这个列表,是一个datalist的下拉列表。...

2021-01-06 19:23:54 248

转载 接口测试平台-93: 全局域名库表+存储

按照之前的一些设计的需求进行依次递推:接下来要完成全局域名,在这之后,会加入一个临时需求:GraphQL 格式的请求体。在用户使用的时候,可以联想匹配填充,省时省力,减少手误写错。开发一个类似全局header请求头的功能,所有的接口库的接口,用例库的步骤,都可以套用某个全局域名来进行请求。当这个全局变量-域名变化的时候,所有的接口/步骤 也会采用最新的。这里面附加了一个隐藏的功能-域名管理:具体为:用户在请求后,请求成功后,那么这个域名就会偷偷存储到一个域名表,当然表是去重的。然后在用户

2021-01-06 19:23:49 251

转载 接口测试平台-92: 用例库name更改+失焦保存

在之前的多接口用例开发中,遗漏的一个功能。就是用例的名字,没法进行更改。新建的用例也只会变成空名字,没法更改很难受,现在来快速实现这个功能。而且也可以借此来熟悉下 如何去动旧功能,动旧功能时候要注意什么。 首先打开P_cases.html,找到左侧的步骤列表页面,因为这个页面是通过点击大用例的设置按钮打开的,所以理应在底部可以有针对大用例本身的名称设置功能。具体要动的地方原来代码如下:也就是这里:每当要更改一个旧功能时,最害怕的是什么?就是这个地方很可能牵扯到其他...

2021-01-06 19:23:44 227

转载 接口测试平台-91: 全局请求头之 多接口使用和发送请求

本节要进行全局请求头的收尾: 保存step的 请求头成功 和 显示 请求头成功 在多用例运行的底层send函数中加入公共请求头 1. 首先是保存,先给step步骤表加上这个公共请求头的字段:同步并生效:现在有了这个存放公共请求头的字段了,那么就去前端的P_cases.html中找到保存步骤step的js函数,给它加上公共请求头吧:// 公共请求头var project_headers = document.getElementById('ts_pro...

2021-01-06 19:23:38 302

转载 接口测试平台-90: 全局请求头之 多接口-接口库选择

按照前面成功把公共请求头安装进接口库的方法,把其插入到多用例中。打开P_cases.html,直接找到这个header后面的html,给它加上倒三角按钮。注意上图,因为要放在同一行,所以要缩短input的宽度 给留出空间。图中的宽度 高度都是调过的,可以放心使用,效果如下:然后去复制承载请求头的那个div 放在下面:虽然它现在是none的,看不到效果,继续去开发即可。现在在下面js的那一堆上加一个script,专门用来写公共请求头的:大家如果代码没有太大的变化,可以对照左

2021-01-06 19:23:33 178

转载 接口测试平台-89: 全局请求头之 单接口使用+UI优化

现在在项目的请求头,设置了俩个最新的请求头,如下:然后接口本身的请求头是空的,但是选中这俩个公共请求头:然后是找到P_apis.html中的调试层发送js函数,给这个公共请求头加进去。加进去的代码其实复制 保存js函数的那段就可以:现在去到后端views.py中进行开发api_send函数。新增代码很简单,获取公共请求头的id列表。然后遍历,从数据库取出来,逐个添加到原来的header字典里,这里打印了一下,看看:看来是成功加进来了,并且返回值也正常。

2021-01-06 19:23:28 288

转载 接口测试平台-88: 全局请求头之 新增+删除+修改后的勾选和展示

回到P_apis.py中,找到调试弹层的保存js函数,将要在这里给用户选中的公共请求头的id获取到,然后组成列表,在保存js函数中传给后端保存起来。...

2021-01-06 19:23:24 526

转载 接口测试平台-87: 全局请求头之 调试弹框展示header

1. 实现host和header的clear功能发现另一个之前遗漏的功能,就是这俩个Clear按钮没有实现。所以这里插一下,解决掉:一个是host,一个是header的俩个Clear按钮都加上onclick。然后在下面加上这俩个小js函数:{# 清空host #}function ts_clear_host() { document.getElementById('ts_host').value = '';}{# 清空header #}fu

2021-01-06 19:23:19 330

转载 接口测试平台-86: 全局请求头之 显示+新增+保存+删除

1. 找到views.py :child_json,给它添加上请求头的数据。

2021-01-06 19:22:27 318

转载 接口测试平台-85: 全局请求头弹框 显示+关闭+空保存+默认首页

1. 默认进入首页path('', home), # 默认进入首页2. 全局请求头弹框本节开始要制作一些次要功能,但是也是非常实用的。比如项目内的全局请求头。首先看前端页面,这个全局请求头的按钮:设计是点击后,出现一个弹层,这个弹层里除了保存/取消按钮 标题外。要有一个table表格。每一行就是一个该项目的全局变量-请求头。像这样:简化了删除功能,设计为每次点击保存按钮,js函数中只要为空的行会被自动删除。而既然是变量,那么就需要有变量名和 变量值。变量名可.

2021-01-06 19:22:22 124

转载 接口测试平台-84: 多接口之 优化章节水漫天

本节课会对多用例模块进行最后的优化等,内容不多。本教程基本都是最浅显和基础的一期产品,后续能优化到什么程度,全看各位的造诣了。提到优化,很多人都说n种角度。但个人觉得,针对这种内部使用量不高的接口测试平台来说,很多方面/角度 的重要程度都需要转变思想,如现在这个半成品级别的测试平台,当前最紧急是易用性,容错性, 还是超多并发的负载均衡?这里认为:容错性 > 易用性 >性能效率。毕竟在想大规模使用的前提下,这个东西得先能用,好用,获得最开始的用户的认可,才能继续推广。当然以...

2021-01-06 19:22:17 116

转载 接口测试平台-83: 多接口之 小用例:mock实现+正则无值(不改)

在之前章节已经成功对step步骤增加了mock_res 字段用来存放用户设置的写死的返回值。本节就来实现它们:其实很简单,直接打开我们run_case.py,在demo函数中,原来的流程是这样的:现在要给改下,加个判断。代码中这么改:...

2021-01-06 19:22:10 211

转载 接口测试平台-82: 多接口之 小用例:mock简介+保存

1.mock功能本节准备开发mock功能,也就是上一节说过的 第二个应用场景,对多接口业务流用例中某些接口的返回值写死。原理和实现都很简单。本节开始制作:首先是P_cases.html,要先在前端开辟出这样一块mock的设置。直接在原来五个提取/断言返回值下面接一个多行文本框是最简单的方法,这样并不是很好看,其实也可以稍微麻烦点放在和那几个请求体类型一样的子div中,不过为了进度会用最简单的方式实现,有能力的小伙伴可以自行想办法优化。 <!-- mock .

2021-01-06 19:22:04 830

转载 接口测试平台-81: 多接口之 小用例:断言-正则法+断言-全文检索法+时区

当前,正则断言时提取的都是字符串,那么预期值就也写字符串就好了,没必要进行求值类型的设计,所以先改一下正则断言的规则。如下:然后设置好并保存:o":(.*?),"e=2这个提取到的应该是en,也就是字符串0,此处故意写成会被变成字符串的2作为预期值。然后去写代码:...

2021-01-06 19:22:00 151

转载 接口测试平台-80: 多接口之 小用例:body替换+断言-路径法

一、承接上节。编写body请求体 的具体替换代码:1. none:# # bodyif api_body_method == 'none': pass什么都不用处理,很简单。2. 然后是form-data和x-www这里为了尽快结束本模块,暂时写成一样的处理方式。等到本模块结束,后续对整个平台进行细化优化的时候,会重新更标准的处理这块底部请求。# # bodyif api_body_method == 'none': passelif api_.

2021-01-06 19:21:54 309

转载 接口测试平台-79: 多接口之 小用例:url+header替换

上节中,我搞定了提取数据的持久化。现在来测试一下:准备俩个步骤接口,第一个仍然是昨天例子那个可以通的x度接口。第二个可以不通,不是真接口,主要验证在url/header/body中是否能成功接收并代入第一个接口的返回值qid和en:注意上图,其中6处加上了替换的占位符。但是保存的时候出现了问题~:因为这种替换规则,静态检查会误报header不符合规范,所以先暂时删除header的前端验证,然后刷新页面,再次按上图保存:保存成功后,要在代码中加上一些输出,以便后续判断请求数据是否.

2021-01-06 19:21:49 558

转载 接口测试平台-78: 多接口之 小用例:返回值提取(路径+正则)+url空显示报错解决

上节设定了两种提取返回值的方式,如图本节就来实现它,打开run_case.py,找到这空白区域:如何进行提取和持久化的设计,也以便后续接口进行调用,先按照路径法,提取出来。注意:因为有些接口返回值并不是json格式字串,而路径法又只能是识别提取json格式。为了方便调试,这里要用一个真实的接口进行测试。大家也可以找找可调通的其他接口做测试。接口信息如下:请求方式:geturl:/sugrec?prod=pc_his&from=pc_web&jso.

2021-01-06 19:21:44 415

转载 接口测试平台-77: 多接口之 小用例:返回值提取替换+断言文案

1. 预告到了本节,已经完成了基本的大用例执行框架的一部分。已经在那个demo函数中 获取到了步骤step的一切数据。剩下的代码大概有几部分: 提取步骤所有请求数据和断言/参数化提取 设置 检查请求数据中是否有需要进行承接上一个接口返回值参数化的字段,有则替换,无则过。 进行requests请求,拿到返回值 对返回值进行参数化提取和断言 其实这里要对所有接口的请求参数中,需要获取到之前接口提取的参数的字段的值,进行标记或者说占位准备替换,就好比html...

2021-01-06 19:21:39 406

转载 接口测试平台-76: 多接口之 大用例:报告引入小用例内容+UI优化

1. 报告引入小用例打开上节研发到一半的views.py和run函数:# 运行大用例def Run_Case(request): Case_id = request.GET['Case_id'] Case = DB_cases.objects.filter(id=Case_id)[0] steps = DB_step.objects.filter(Case_id=Case_id) run(Case_id, Case.name, steps) retur

2021-01-06 19:21:35 130

转载 接口测试平台-75: 多接口之 大用例:引入unitest+查看报告

1.unittest demo打开views.py,找到写了个开头的这个实际请求的函数:这从数据库中先拿到所有步骤,然后这些步骤利用循环,让其自动生成这个测试类的 子函数。然后运行这个unittest测试类即可。先新建一个其他文件,作为unittest的主要运行文件。而当前的这个views.py 就会履行它真正的作为视图逻辑的交互责任,就是整理过滤前端请求数据,传递给业务层。在贴着views.py的位置 创建一个新的文件叫: run_case.py:# -*- codin.

2021-01-06 19:21:29 1103 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除