通过Postman工具如何快速批量生成Python Pytest的测试脚本

简介: github上找到了一个别人开源的脚本,clone下来试了一下,仓库地址如下:该仓库的脚本可以将postman导出的json格式的collections的文件转换为一个指定模板的.py的python脚本。并且提供了cli的命令行去进行转换,也提供了转换的demo,也可以将这个作为一个library安装到自己的python安装目录下的site-packages中去。

 首先,在看这篇文章之前,希望大家先看一下上一篇文章,了解一下

项目重构后,如何利用Postman快速对比出新旧接口之间的差异 

在上一篇文章中,基于这样的背景下,要快速对比两个接口的返回结果的差异 ,而且是大批量的接口,断言是很麻烦的,要对js非常熟练,因此,当时考虑想换一个扩展性强一点的工具,当时就考虑用RobotFramework框架。

目前现有脚本都在postman中了,接下来要做的就是如何去快速的把postman中的接口测试用例都转成RF格式的用例呢?


   几经辗转,最终github上找到了一个别人开源的脚本,clone下来试了一下,仓库地址如下:

https://github.com/xNok/postman2robotframework


   该仓库的脚本可以将postman导出的json格式的collections的文件转换为一个指定模板的.py的python脚本。并且提供了cli的命令行去进行转换,也提供了转换的demo,也可以将这个作为一个library安装到自己的python安装目录下的site-packages中去,安装命令是:

    代码根目录下执行:
    python setup.py install

    具体的用法,github上都有写:微信图片_20220114173732.png


    postman2robot 的命令要传2个参数,一个指定postman导出的json文件,

    另一个指定转换后的文件的目录。

    使用提供的demo文件转换后的效果如下:


    微信图片_20220114173736.png


    相当于把postman的每个接口都定义成了一个python的函数,然后将python文件导入到RobotFramework框架中的话,每个函数相当于就是一个新的关键字。


    上面只是写到怎么样转换为RF的脚本,那么,怎么转换为pytest的用例脚本呢?

    其实只需要将/src/assets/library_template.py文件改一下格式。

    原来的内容如下:


    微信图片_20220114173739.png


    要改成支持pytest的话 ,我们改一下class类名,然后在每个def函数名的前面或者后面加上test,再导入pytest的包,这样的话,就可以识别为pytest的用例了。然后在最后面再补充加一个if __name__ == '__main__'的脚本去执行pytest的用例,这样的话,就基本上完成了用例的转换工作。至于转换的模板文件中还需要加入什么可以自己去扩展。

       然后再本地搭建好allure的环境之后,可以集成pytest一起运行后出一个漂亮的报告出来。

    下图是我转换之后的脚本,对比重构前与重构后的接口对比结果的报告:


    微信图片_20220114173741.png


    至于不知道怎么集成allure以及pytest的基本用法的,可以参考下面这篇文章:

    一篇文章为你揭秘pytest的基本用法


    脚本的运行和调试,需要有一定的python代码基础,我自己也在这个基础上调整了一些代码,如果你们对这个转换感兴趣,自己动手去尝试了之后遇到了问题的,可以添加好友一起探讨一下。

    目录
    打赏
    0
    0
    0
    1
    4
    分享
    相关文章
    学习Python Web开发的安全测试需要具备哪些知识?
    学习Python Web开发的安全测试需要具备哪些知识?
    121 61
    软件测试中的自动化策略与工具应用
    在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
    使用ChatGPT生成登录产品代码的测试用例和测试脚本
    使用ChatGPT生成登录产品代码的测试用例和测试脚本
    77 35
    通过ChatGPT生成测试用例和测试脚本(2)
    通过ChatGPT生成测试用例和测试脚本
    64 21
    10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
    在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
    329 8
    10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
    如何在实际项目中应用Python Web开发的安全测试知识?
    如何在实际项目中应用Python Web开发的安全测试知识?
    118 61
    Selenium:强大的 Web 自动化测试工具
    Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
    265 17
    Selenium:强大的 Web 自动化测试工具
    BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
    BALROG 是一款用于评估大型语言模型(LLMs)和视觉语言模型(VLMs)在复杂动态环境中推理能力的基准测试工具。它通过一系列挑战性的游戏环境,如 NetHack,测试模型的规划、空间推理和探索能力。BALROG 提供了一个开放且细粒度的评估框架,推动了自主代理研究的进展。
    78 3
    BALROG:基准测试工具,用于评估 LLMs 和 VLMs 在复杂动态环境中的推理能力
    自动化测试之美:从零开始搭建你的Python测试框架
    在软件开发的马拉松赛道上,自动化测试是那个能让你保持节奏、避免跌宕起伏的神奇小助手。本文将带你走进自动化测试的世界,用Python这把钥匙,解锁高效、可靠的测试框架之门。你将学会如何步步为营,构建属于自己的测试庇护所,让代码质量成为晨跑时清新的空气,而不是雾霾中的忧虑。让我们一起摆脱手动测试的繁琐枷锁,拥抱自动化带来的自由吧!
    AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等