名医指导 足不出户寻医问药
聚焦健康 权威的健康资讯
您的位置: 首页> 正文

HttpRunner 通过 skip 机制实现对测试用例的分组执行控制

发布网友 发布时间:2024-10-24 14:10

我来回答

1个回答

热心网友 时间:2024-10-30 08:32

某同学提出了需求,希望HttpRunner能支持类似unittest中的skip注解,方便剔除某些测试用例,避免执行。在接口测试中,有时遇到接口未开发完成或暂时被屏蔽,导致用例执行失败。此时,希望能在遇到这些情况时,能临时不执行某些用例,等后续恢复后再执行。目前,HttpRunner并未直接支持此功能。

然而,一个替代方案是利用HttpRunner中的times关键字。比如,给某个测试用例设置times为3,那么该测试用例将执行3次。若要实现临时屏蔽某些测试用例,则可以将对应测试用例的times设置为0。此方法虽然勉强满足需求,但需要修改测试用例内容,操作不便。

考虑到该需求的普遍性,HttpRunner确实应该增加对这种需求的支持。在unittest中,已有三种装饰器控制单元测试用例的执行:skip、skipIf和skipUnless。此功能完全满足需求,我们可以通过复用unittest概念来实现。

实现方式如下:明确unittest中skip、skipIf和skipUnless的实现方式。在HttpRunner中,我们同样使用unittest组织和驱动测试用例执行。在httprunner/runner.py的_run_test方法中,我们通过传递testcase_dict(具体测试用例信息)来控制执行。

在YAML/JSON测试用例中,我们新增skip、skipIf和skipUnless参数。在_run_test方法中,根据参数内容判断是否执行raise SkipTest(reason)。例如,新增skip字段,值部分为reason。运行方法中,只需检查testcase_dict中是否包含skip字段,包含则执行raise SkipTest(reason)。

对于skipIf和skipUnless,由于用例在YAML/JSON文本格式文件中,无法直接使用像unittest中的condition那样的Python表达式。但在HttpRunner中,我们实现了函数表达式功能。因此,可以使用如下形式描述skipIf和skipUnless。其中,skip_test_in_production_env定义在debugtalk.py文件中。

在_run_test方法中,检查testcase_dict中是否包含skipIf字段,若包含,则取出对应的函数表达式,运行得到结果,再根据运算结果决定是否执行raise SkipTest(reason)。解析函数表达式的方法在httprunner/context.py的exec_content_functions函数中。

通过此方式,我们无需修改测试用例文件,就能通过外部方式(如设置环境变量值)控制是否执行某些测试用例。实现后,测试用例的执行控制更加灵活方便。

例如,可以轻松实现常见测试场景。在HttpRunner项目中有一个示例文件,httprunner/tests/data/demo_testset_cli.yml,可以作为参考。运行该测试集后,生成的测试报告如下所示。对于中文使用文档的缺失,HttpRunner近期将集中时间进行梳理,尽快提供系统文档手册。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 lbs是什么单位 lbs是什么单位的缩写 接口自动化进阶: Pytest之Parameterize数据驱动应用! ...翻一下,韩语服装成分中单一个 울 字是什么意思?表示什么成分,谢谢... 防静电陶瓷贵不贵? 一磅等于多少公斤?拜托各位大神 明明知道他成绩差,人品又不好,但是怎么就莫名其妙对他有了感觉呢... 花韭概述 ...标都是韩文,请大神帮忙把红框里的韩文翻译成中文。谢谢。 一镑有多少公斤拜托了各位 谢谢 5lbs是多重啊?谁知道...拜托! 儿童睡的床垫多少合适 儿童如何挑选床垫 求书~TXT格式全集 以下几本~急~TXT格式发到我邮箱谢谢啦 有谁能告诉我花火2014年7A和7B有哪些文章 ...翻译机上翻译的。因为不懂日文,所以求解答。 请翻译一下这个衣服韩文标签,翻译一下材质含量 ...最好是小说TXT版本,可以发给我吗?麻烦发到我的邮箱里面 ...发到我邮箱要TXT格式,顺便把下载地址留下,如果有地址我给50分... 五磅是几公斤 ...图片中的题并翻译一下(急用感谢,不要机翻啊) pytest为什么一定要使用关键字+数据驱动? 为什么宋哲伦地图编辑器用不了,说红警2安装不正确 105lbs是多少公斤? 我发视频对方也视频呢,怎么不显示对方忙线中了呢? 为什么手机通话中,发视频给他不会显示忙线? 红警2地图编辑器宋哲伦版请问怎么能叫建立的部队能归属自己和敌人 红警2地图编辑器宋哲伦版请问怎么能叫建立的部队能归属自己和敌人_百 ... 红警2尤里的复仇,宋哲伦地图编辑器咋用? 红色警戒2尤里复仇地图编辑器怎么用 红警2宋哲伦地图编辑器如何设置任务成功完成条件 ...地图编辑器编辑好的地图怎样使用到游戏里去? 红警2尤里复仇怎么自己制作单人任务 关于红警2地图编辑器触发编辑器的问题 求红警2尤里的复仇地图编辑器(宋哲伦版)单人任务详细使用说明 红色警戒尤里的复仇编置器怎么把一个人物设为自己的或别人的? 红警2修改问题。 智能工程机械运用技术是本科还是专科专业 红警2宋哲伦地图编辑器如何设置任务成功完成条件 胃排空障碍怎么治疗 红色警戒2 宋哲伦地图编辑器
  • 焦点

最新推荐

猜你喜欢

热门推荐