1、前语
在上一篇文章: 使用ChatGPT提升测验工作效率——测验工程师的新利器(一)中,咱们提到了怎么经过chatGPT生成单接口测验用例,然后再让chatGPT去依据测验用例去生成接口主动化脚本。本篇文章将具体讲解一下咱们团队内部在遇到事务痛点时怎么使用Httprunner结构进行接口主动化测验的。当最近邂逅chatGPT后又是怎么将二者结合起来,完成”敏捷”主动化测验的。
首要事务测验面临的痛点便是在商业化Devops产品在交付过程中,不同的客户现场和公司内部存在各式各样的环境还有各种国产化体系,并行多个客户交付,多版本需求进行回归测验。假如在有限的人力资源下,经过测验人员人工进行回归的化或许就会不能准时按点完成交付。怎么快速的完成接口主动化辅佐回归,经过团队内部选型,依据快速性,灵活性,易用性终究选择了HttpRunner结构。终究完成了能在不同的客户现场环境,当运维人员布置完成环境后能够快速完成基本功用回归测验,大大减少了测验人员的回归时刻。
接下来具体讲一下咱们是怎么使用Httprunner经过“点”,“改”,“查”这三板斧进行接口主动化测验的。点便是经过在web前端进行事务操作将对应接口录制下来,然后一条指令输出主动化脚本。改便是需求将一切重复需求替换的内容用脚本进行批量更改,当然变量抽取及断语现在仍然需求每个接口人工进行更改。查便是运转调试找错批改。比较一些接口测验东西或渠道需求人工单接口录入,Httprunner简直是so easy,哪里麻烦点哪里!下面先举例具体介绍一下怎么经过Httprunner生成主动化脚本。
2、招式一:点一点
现在我以一个简略的事务场景进行阐明,要将在团队空间模块创立团队空间,创立迭代,创立卡片整个流程完成主动化。首要需求在Web端进行对应的操作。
一起用Fiddler等抓包东西,或者浏览器本身的F12功用也可以抓取事务流程接口。删去非必须保留中心接口,将一切接口导出成har文件createSpaceCardDemo.har。(抓包东西及浏览器都可以导出)
接下来经过Httprunner结构的东西指令行:har2case.exe createSpaceCardDemo.har将har文件转化成py脚本。(当然也可以是yml格式,比较较而言py格式的更简练易读)
3、招式二:改一改
运转指令第一轮生成这样的:经过观察发现脚本里面url,headers,cookies,请求体等信息会依据不同环境不同用户进行改变,所以需求参数化。
“秘制”脚本第二轮替换后变成这样:将url,headers,cookies进行抽离后,此时脚本现已十分简练明了了。
人工第三轮替换:将入参参数化确保每次都能运转。返回值字段抽取后吐给下个成果或其他依赖脚本。断语针对每个接口的事务特性有针对性的进行判别。
4、招式三:查一查
修正完成后,经过指令hrun .\testcases\space\space\createSpaceCardDemo_test.py –html=reports\index.html运转,查看脚本的正确性。
是不是感觉特别简略。比把大象装冰箱还要简略。
阐明:前期结构需求做好规划,变量抽离函数封装要做好。还需求考虑不同环境,不同布置方法,接口前缀变化等等事务特点。这样后期的主动化脚本就越简略。
5、ChatGPT生成用例
以上便是Httprunner完成接口主动化的基本流程。可是假如要做中心接口的反常场景怎么测验呢,前端不能经过点一点,录制一下就会主动生成脚本。假如人工去手艺写也会大大提高测验人员的工作量。现在chatGPT闪亮登场了。开始想法便是给chatGPT接口入参,入参的约束条件。然后让chatGPT生成接口的反常场景的测验用例。再让chatGPT将咱们的测验用例转成咱们需求的主动化脚本。又是如此简略,so easy!哪里不对再让chatGPT改哪里。
经过几轮的改改改,终究chatGPT生成的用例如下:
6、ChatGPT生成Httprunner脚本
接下来再将生成好的测验用例喂给chatGPT,让它主动生成接口主动化脚本。先训练依照一个用例生成契合预期的接口主动化脚本。
接下来将一切生成的测验用例”喂”给chatGPT,让其将一切测验用例生成Httprunner接口主动化脚本。经过指令hrun .\testcases\space\exceptions\createSpaceException_P01_test.py运转后发现直接成功。当然现在的断语还仅仅状态码断语,还需针对不同场景的消息体进行断语。
7、总结
以上便是当chatGPT与Httprunner(官网链接)碰撞出的火花。Httprunner对于写接口用例现已十分简略了,当再遇到chatGPT后功用又大大增强了。咱们对于能录制的接口只需经过三板斧,点一点,改一改和查一查就能写好一个场景的用例。对于不能进行录制的单接口可以经过chatGPT去生成用例,然后再让chatGPT去主动生成主动化脚本。当然现在的应用还属于相对比较简略的接口,前期刚刚使用或许会像小孩子刚学走路会磕磕绊绊,可是我信任随着不断探究和学习,随着chatGPT的发展会越来越娴熟。因为星星之火可以燎原。
作者:京东科技 张兴磊
来历:京东云开发者社区 转载请注明来历













