接口测试平台162:并发运行用例功能(1)

简介: 接口测试平台162:并发运行用例功能(1)

很抱歉,接口测试平台因为接到大量粉丝要求想听并发执行用例的功能,所以插播了本章节,所以之前准备开的导入导出接口功能延后了哈。


   其实刚开始听到有粉丝想听这个功能时我很诧异,因为这并不算什么复杂的功能,而且我应该讲过呀,很多平台内我都使用了并发功能呀.... 但是我回过头一想,不对.... 目前用到并发功能的平台 我还没来得及更新到公众号....只是在我培训课程中存在。


   所以我赶紧打开接口测试平台,准备给弄进去....


   首先就是这个并发功能用在哪的问题。

   目前,接口测试平台有自己的用例库,其中可以生成多个大用例,每条用例都是完全分割开的,并且每条大用例内部都含有若干接口,也就是小步骤。


   这些小步骤是有上下文关联的,必须按照顺序执行,所以步骤之间不存在并发的问题。那么并发功能就只能放在多个大用例之间了。


   这里我们先想一个问题,就是很多同学总说自己看了多少书,多少博客,然后学了多少知识点,但是一遇到现实问题,就不知道如何下手了。其实,这也是我常说的:知识会背和会用,是存在一个鸿沟的。


       更文明点来说就是:这些零散的知识点,你没有串起来成一根线,以至于遇到问题,不知道该用哪个技术来解决,也不知道能不能解决,信心也没有,而是第一时间盲目的去搜,去问。


   所以我的文章为什么很多人喜欢读,为什么我的培训每期都爆满,就是因为,我讲的知识并不复杂,而更注重如何使用这些浅显的知识来解决实际问题。


   好,言归正传,经过我们上面的思路,我们知道了这个并发功能应该用于多个大用例之间。


   那么继续跟随我的思路走:

   

   这个并发功能底层用什么技术? 我想了想,用python的多线程比较好,也就是thread。


   那么怎么具体实现呢?更简单,并发的去请求本来就应该触发单独运行用例的那个url或者函数即可。


   那么多线程要怎么去调用执行用例的url呢?很简单,request请求即可。


   好,基于这个简单的思路,我们应该就可以实现这个功能了。这里扩展一下,如果是调用一些其他脚本,或者其他语言的脚本,最好用多线程调多进程驱动shell的方式,安全可靠,报错了也方便调试~不过本平台目前用不到这个设计,在我培训一期的ui自动化平台中,所有的脚本都是可拆卸组装的各种语言脚本,所以会用到这个设计。


  好,我们现在开始准备基础材料吧:


   首先是执行用例的url:

image.png


    好,在这个url中,我们并没有看到变量参数,也就是没看到运行大用例的具体用例id,不过!这是因为django的写法如此,实际上,这是一个get请求,而参数,是真实的在url中的,不信我们打开浏览器f12看看:

image.png

   


也就是说,我们只需要get请求拼接一下这个url,即可,然后并发函数来请求它。


那么这个具体的用例id,怎么获取呢?因为你点了并发,所以要执行当前项目用例库下所有用例,那么我直接从数据中拿出来这些用例的id即可。整个过程应该毫无难度就实现了。


但是现在还要思考一个问题,就是执行结果展示。既然要并发执行了,那么结果展示肯定是需要集成到一起的。不可能我一键全部执行后,要手动一个用例一个用例的点开报告看吧?


所以这里涉及到了一个隐藏需求,就是报告结果整合!


先看下我们当前的报告是什么东西?

image.png


这老人一眼就看出来了,这是httptestrunner的报告魔改的对吧?

那么这个报告有个特点,就是它并非存在于数据库中,而是实打实的一个html文档。

image.png


那么这就给我们合并报告提高了难度,如果是数据库中,那好办了。但是现在这样已经生成了html文档。那我们怎么合并呢?


也简单,直接按名字提取里面的关键信息:成功用例数,失败数,总数 即可。


那么怎么提取呢?因为这种报告一定是遵从一个初始文档的,所以它的html源码绝对是有规律可循的,也就是说,我可以用正则提取。


正则提取这种数据,就是玩~


提取出的数据,我们可以简单的相加或者放在一起展示。


最终结果数据就有了,那么问题又来了,要怎么显示在前端呢?


这...似乎又是一个难题。


这里我提出四个解决方案。


并非只能用其中一种,而是可以选择几种来用。如果我时间充足,会给大家全讲了。


方案一:在页面生成个按钮,一点就直接alert窗显示最终结果即可。


方案二:做个html,把所有数据展示到html里,这样算是永久存储可以导出。


方案三:也不用正则提取了,直接把所有的html报告内的关键信息dom层,全部粘贴复制到其中一个里,这样生成的报告更细致。


方案四:启动邮件/钉钉/飞书 机器人功能。直接用机器人通知你执行结束并展示结果。


好了,不论选哪种,实现起来难度都不高,所以这个问题跳过。


那么这个并发功能算完了么?当然没有!


性能上也要考虑一个严峻的问题,就是如果用例特别多,那么并发执行就像什么了?


对,像压测!


也就是说,这个接口测试平台要承担压测的水准才行,可实际上,我们一开始造平台的时候并没有策划这个范围,而且服务器也不一定能扛得住!所以我们要做一个保险功能,什么功能?


具体功能,请听下回分解!

相关文章
|
2月前
|
关系型数据库 MySQL 测试技术
【分享】AgileTC测试用例管理平台使用分享
AgileTC 是一个脑图样式测试用例管理平台,支持用例设计、执行与团队协作,帮助测试人员高效管理测试流程。
255 116
【分享】AgileTC测试用例管理平台使用分享
|
2月前
|
人工智能 数据可视化 测试技术
AI测试平台自动遍历:低代码也能玩转全链路测试
AI测试平台的自动遍历功能,通过低代码配置实现Web和App的自动化测试。用户只需提供入口链接或安装包及简单配置,即可自动完成页面结构识别、操作验证,并生成可视化报告,大幅提升测试效率,特别适用于高频迭代项目。
|
2月前
|
人工智能 测试技术 调度
写用例写到怀疑人生?AI 智能测试平台帮你一键生成!
霍格沃兹测试开发学社推出AI智能测试用例生成功能,结合需求文档一键生成高质量测试用例,大幅提升效率,减少重复劳动。支持自定义提示词、多文档分析与批量管理,助力测试人员高效完成测试设计,释放更多时间投入核心分析工作。平台已开放内测,欢迎体验!
|
2月前
|
人工智能 测试技术 项目管理
测试不再碎片化:AI智能体平台「项目资料套件」功能上线!
在实际项目中,需求文档分散、整理费时、测试遗漏等问题常困扰测试工作。霍格沃兹推出AI智能体测试平台全新功能——项目资料套件,可将多个关联文档打包管理,并一键生成测试用例,提升测试完整性与效率。支持套件创建、文档关联、编辑删除及用例生成,适用于复杂项目、版本迭代等场景,助力实现智能化测试协作,让测试更高效、更专业。
|
3月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
5月前
|
存储 测试技术 虚拟化
VMmark 4.0.3 - 虚拟化平台基准测试
VMmark 4.0.3 - 虚拟化平台基准测试
167 0
VMmark 4.0.3 - 虚拟化平台基准测试
|
1月前
|
人工智能 自然语言处理 测试技术
让AI帮你跑用例-重复执行,不该成为测试工程师的主旋律
测试不该止步于重复执行。测吧科技推出用例自动执行智能体,通过AI理解自然语言用例,动态规划路径、自主操作工具、自动重试并生成报告,让测试工程师从“点点点”中解放,专注质量思考与创新,提升效率3倍以上,节约人力超50%,重构测试生产力。
|
2月前
|
人工智能 自然语言处理 测试技术
AI测试平台的用例管理实践:写得清晰,管得高效,执行更智能
在测试过程中,用例分散、步骤模糊、回归测试效率低等问题常困扰团队。霍格沃兹测试开发学社推出的AI测试平台,打通“用例编写—集中管理—智能执行”全流程,提升测试效率与覆盖率。平台支持标准化用例编写、统一管理操作及智能执行,助力测试团队高效协作,释放更多精力优化测试策略。目前平台已开放内测,欢迎试用体验!
|
3月前
|
存储 人工智能 文字识别
从零开始打造AI测试平台:文档解析与知识库构建详解
AI时代构建高效测试平台面临新挑战。本文聚焦AI问答系统知识库建设,重点解析文档解析关键环节,为测试工程师提供实用技术指导和测试方法论
|
3月前
|
人工智能 安全 数据可视化
安全测试平台的选型标准与搭建思路
随着企业安全需求升级,传统漏洞扫描和渗透测试已无法满足要求。构建安全测试平台(STP)成为趋势,实现漏洞扫描、权限评估、接口测试等工作的平台化运营。本文从选型标准、平台架构、模块功能等六个方面,系统讲解如何搭建企业级安全测试平台,提升安全能力。
下一篇
oss云网关配置