以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)

这篇具有很好参考价值的文章主要介绍了以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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的发展会越来越熟练。因为星星之火可以燎原。

作者:京东科技 张兴磊

来源:京东云开发者社区 转载请注明来源文章来源地址https://www.toymoban.com/news/detail-710675.html

到了这里,关于以效率为导向:用ChatGPT和HttpRunner实现敏捷自动化测试(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于 HttpRunner + Django + Vue + Element UI 的接口自动化测试平台

    https://github.com/tahitimoon/LunarLink https://lunar-link-docs.fun 基于HttpRunner + Django + Vue + Element UI 的接口自动化测试平台,生产可用。 此外,非常感谢 花菜。没有 AnotherFasterRunner 就不会有 LunarLink 😃 🎨 Django 🎶 Django Rest framework 🎉 Vue.js 🎃 Element UI 🏐 django-celery-beat(定时任务) 🎲

    2024年04月11日
    浏览(43)
  • HttpRunner自动化测试工具之获取响应数据&extract提取值到变量

    获取响应数据 extract: 提取 注: extract 应与request保持同一层级 1、响应行,响应头;通过 extract 提取响应的数据并存储到变量中,如下图: 注:变量名的前面要有 -  # 获取响应数据: 响应行(200,ok)响应头 - config:     name: 测试百度网站     base_url: https://www.baidu.com - test:

    2024年02月02日
    浏览(65)
  • 使用机器学习实现自动化测试:提高效率和准确性

    在软件开发的过程中,测试是一个至关重要的环节。传统的手动测试往往耗时耗力,而且存在人为疏漏的可能。为了解决这些问题,许多团队开始将机器学习应用于自动化测试,以提高测试效率和准确性。 本文将介绍如何使用机器学习技术来实现自动化测试,从而显著提升软

    2024年02月15日
    浏览(54)
  • 告别重复工作,用Python实现办公自动化,提高工作效率

    996 一直是互联网老生常谈的话题了,但抛开其他只谈工作本身,你有没有想过, 下班晚、加班,有时候可能是因为自己工作比较低效? 先给你分享一个案例: 场景是在维护日活超过 3 亿用户的微博私信平台,在一个业务模块中,需要批量替换 200 台服务器中的软件配置,而

    2024年02月06日
    浏览(54)
  • Python自动化办公:提升效率,释放潜力(借助AI实现)

    欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。搜索关注公粽号《机器和智能》即可领取技术大礼包

    2024年02月15日
    浏览(48)
  • 敏捷测试自动化

    目录 前言: 敏捷宣言 敏捷软件开发VS传统方法 敏捷云服务

    2024年02月15日
    浏览(55)
  • 敏捷测试和DevOpes自动化测试的区别

    敏捷测试和DevOps自动化测试在以下方面存在区别👇 1️⃣目标 🎈敏捷测试的主要目标是提供快速的反馈和持续的改进,以便在开发过程中尽早发现和解决问题,从而提高软件的质量和可靠性。 🌈DevOps自动化测试的目标是提高软件的交付速度和质量,通过自动化测试流程来减

    2024年01月18日
    浏览(47)
  • 前台自动化测试:基于敏捷测试驱动开发(TDD)的自动化测试原理

    一、自动化测试概述 自动化测试主要应用到查询结果的自动化比较,把借助自动化把相同的数据库数据的相同查询条件查询到的结果同理想的数据进行自动化比较或者同已经保障的数据进行不同版本的自动化比较,减轻人为的重复验证测试。多用户并发操作需要自动化模拟来

    2023年04月20日
    浏览(81)
  • 【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)

      具体步骤:登录 Apifox https://app.apifox.com/   圈选复制上面的内容粘贴到【接口地址列表】输入框,自动生成脚本代码 生成的接口请求代码是基于 【Vue.js最新版】【基于jQuery Ajax】[sd.js]最新原生完整版for凯哥API版本_你挚爱的强哥的博客-CSDN博客 【代码】【最新版】【基于j

    2024年02月09日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包