Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >接口测试平台插播:用例模块相关bug修复

接口测试平台插播:用例模块相关bug修复

作者头像
我去热饭
发布于 2022-05-19 02:33:14
发布于 2022-05-19 02:33:14
2180
举报
文章被收录于专栏:测试开发干货测试开发干货

废话不多说,有小伙伴公司在用的过程发现了一些紧急问题,所以这里插播一下修复代码:

问题1:

用例模块,接口请求时,项目公共请求头header就会报错:

我们看看这个报错信息,它说的是run_case.py的82行:

这里出现bug的原因是,如果没有勾选任何公共请求头,那么这个ts_project_headers 就是[""] ,里面有个空字符的元素,然后这个空字符去数据库搜索对应的请求头内容的时候,搜不到报错。

这里我们只需要判断一下即可:

再试试,就成功了

问题2:

后一个大用例的报告会显示前一个大用例里面的接口。

如图:

我创建了俩个大用例,第一个里面有接口 A-1 和 A-2,第二用例只有一个 B-1

然后我们先运行第一个大用例得到报告:

这看着没问题,然后我们再运行第二个大用例,得到报告:

可以看到,第一个大用例的接口 跑到了第二个大用例的 报告里。这个问题的原因经过排查,是因为第二次运行时,没有初始化我们run_cases.py的那个测试大类Test导致,俩次用例运行前,我都打印类一下类Test的子方法,赫然发现 第二次运行时候,Test已经具备类第一个大用例的test_001和test_002方法。

所以我们这里的处理也很简单:

我的解决思路有俩种:

1。在每个用例运行前,都检查一下该Test类,把其中的不属于原始状态的方法即 test_开头的 都删除即可。

2。 在每次用例运行之后,都好好的打扫干净,把自己添加过的test_方法都删除。

这俩种思路,第二种是有风险的,因为如果用例执行过程中意外错误,那么就会导致无法触发清扫收尾的代码,就会影响下一次运行。所以我选择第一种方法。

在这个位置写上 清理方法代码:

测试:先运行第一个大用例,然后运行第二个大用例,发现问题解决!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
接口测试平台代码实现92: 全局请求头-7
现在我们有了这个存放公共请求头的字段了,那么就去前端的P_cases.html中找到保存步骤step的js函数,给它加上公共请求头吧:
我去热饭
2022/05/19
4010
接口测试平台代码实现92: 全局请求头-7
接口测试平台188: 并发报告(4)
好的,本节课我们要解决的就是 上节课我们拼好的json中的 各层级的result结果:
我去热饭
2022/05/20
2540
接口测试平台188: 并发报告(4)
接口测试平台167:并发报告问题解决
但是当A和B同时一瞬间执行时,就会互相问题,比如A报告同时显示了A+B的内容,而B报告空白.....
我去热饭
2022/05/20
1990
接口测试平台代码实现78: 多接口用例-18
我们需要先思考一下。如何进行提取和持久化的设计,也就是说不能光提取就行,需要存放到哪,以便后续接口进行调用:
我去热饭
2022/05/19
2630
接口测试平台代码实现78: 多接口用例-18
Pytest测试用例之setup与teardown方法(一)
学过unittest框架的大家都知道里面 [前置/后置setup/teardown ]非常好,用来写一些每个case执行前都需要执行的公用代码 [ 作用:在每次用例开始前和结束后都去执行一次 ]
测试小兵
2020/07/09
2.2K0
接口测试平台183:并发用例报告数据收集-数据准备/bug修复阶段 (1)
开始正文.... (为了报告数据收集开发,我必须先准备好数据才行,所以需要先实际的请求并发的用例,才能产生数据库数据。这个过程因为我没有对之前的wqrf_run_case.py进行过测试,所以大概率是有bug的。所以这个阶段我们顺便也要来自测和解决bug。)
我去热饭
2022/05/20
2100
接口测试平台183:并发用例报告数据收集-数据准备/bug修复阶段 (1)
接口测试平台代码实现140: 项目大用例干扰bug解决
首先明白,隔离我们其实就是给它加入一个 标记,这个标记就是 大用例id。再来看看我们的登陆态目前 是个什么 数据类型:
我去热饭
2022/05/19
1770
接口测试平台代码实现140: 项目大用例干扰bug解决
接口测试平台代码实现88: 全局请求头-3
本节我们就一起来研究,在接口库调试页面,用例库步骤详情页 这俩个地方如何加入这些项目公共请求头吧。
我去热饭
2022/05/19
4010
接口测试平台代码实现88: 全局请求头-3
接口测试平台代码实现141: 项目大用例干扰bug解决2
3. 目前项目A尚未运行完,项目B开始运行,就会把login_res这个变量给重新赋值,导致项目A后续的步骤发觉login_res已经不是自己的项目id后,就会重新生成新的,然后项目B的后续步骤再次赋值,发生俩个项目甚至多个项目互相抢这个变量的情况。
我去热饭
2022/05/19
2750
接口测试平台代码实现141: 项目大用例干扰bug解决2
基于Python接口自动化测试框架+数据与代码分离实战(优化篇)
  之前分享过一篇关于使用unittest框架做接口自动化测试的文章——基于Python接口自动化测试框架+数据与代码分离(进阶篇),该篇文章主要讲设计思路与简单实践的过程。但是,小编力求实战,恰巧遇到项目所需。俗话:光说不练假把式,很多人写博客,弄几个小示例后,就感觉自己学会了一套框架,甚至觉得自己是测开了。其实不然,实践使用过程,你会发现很多问题,特别是公司的花式接口和复杂业务逻辑的,你会发现往日搭建的框架很多残缺,无法完全应用所有场景。这个时候,你需要去在实践中不断优化与完善,这也是非常难得的,必须这个过程你在不断探索与学习,进而提升自己的能力。
全栈测试开发日记
2023/02/02
6770
基于Python接口自动化测试框架+数据与代码分离实战(优化篇)
接口测试平台代码实现64: 多接口用例-4
首先打开P_cases.html,找到这个设置按钮,给它加入onclick:
我去热饭
2022/05/19
5120
接口测试平台代码实现64: 多接口用例-4
接口测试平台代码实现91: 全局请求头-6
我们打开P_cases.html,直接找到这个header后面的html,给它加上倒三角按钮。
我去热饭
2022/05/19
3270
接口测试平台代码实现91: 全局请求头-6
接口测试平台代码实现104:GraphQL-4
本节开始我要一步搞定用例库相关的设置,首先打开P_cases.html,找到步骤详情页的请求体类型部分,然后添加相关dom:
我去热饭
2022/05/19
2340
接口测试平台代码实现104:GraphQL-4
接口测试平台代码实现84: 多接口用例-24
我们在之前章节已经成功对step步骤增加了mock_res 字段用来存放用户设置的写死的返回值。本节我们就来实现它们:
我去热饭
2022/05/19
1870
接口测试平台代码实现84: 多接口用例-24
用python实现接口测试(八、Unittest测试框架)
不论对于开发还是测试,都离不开单元测试框架,对于开发而言使用单元测试框架,可以编写测试代码来验证验证自己编写的功能是否正确,对于测试而言,使用单元测试框架,可以编写自动化的测试用例,在Python中单元测试框架是Pyunit,即unittest,unittest我一直认为是一个很优秀的单元测试框架。
用户6367961
2019/09/29
5960
接口测试平台162:并发运行用例功能(1)
很抱歉,接口测试平台因为接到大量粉丝要求想听并发执行用例的功能,所以插播了本章节,所以之前准备开的导入导出接口功能延后了哈
我去热饭
2022/05/20
3160
接口测试平台162:并发运行用例功能(1)
接口测试平台代码实现87: 全局请求头-2
书接上回,我们已经在数据库中手动创建了俩个公共请求头。所以本节的主要任务是要让这俩个请求头显示在前端上。
我去热饭
2022/05/19
4500
接口测试平台代码实现87: 全局请求头-2
Pytest的基本应用(一)
在Python的编程语言中,单元测试框架主要是pytest,unittest,和nose,其中应用最广泛的是unittest和pytest测试框架,unittest测试框架是内置的模块,安装完Python的解释器后,就可以直接导入使用,但是使用它的时候必须是继承TestCase类,才可以调用里面的方法,但是缺陷也是很明显的,它只能应用于面向对象的编程方式,无法应用于函数式的编程方式,Python语言它的优势的是可以是面向对象的编程方式,也可以是函数式的编程方式。pytest就显得自由,它把每一个以test_开头或者是_test结尾的都看成是一个测试对象,同时它的断言是Python的原生断言assert,这样使用起来更加的自由,只要编写的不管是模块还是类,符合它的要求,都是可以执行的。但是前提是需要安装pytest,它是属于第三方的库,安装的命令为:
无涯WuYa
2019/09/04
2.4K0
Pytest的基本应用(一)
接口测试平台代码实现33:接口调试
首先我们要做一个简单的弹层,和上节课的备注弹层一样的做法,这里就给大家快速贴源码了用到的技术都是之前学过的。注意一点,打开弹层后,一定要在弹层的某个地方放入接口id,以便我们之后调试保存时,发出的请求中可以知道当前用户打开的是哪个接口。
我去热饭
2022/05/19
1.1K0
接口测试平台代码实现33:接口调试
接口测试平台173:并发功能继续
然后我们先回忆下,这个文件我们目前很多的初始化步骤,其实都是把请求数据从数据库step表中拿出来,拿出来的时候基本都是字符串,我们又合并了一些全局变量替换。
我去热饭
2022/05/20
3360
接口测试平台173:并发功能继续
推荐阅读
相关推荐
接口测试平台代码实现92: 全局请求头-7
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档