通过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代码基础,我自己也在这个基础上调整了一些代码,如果你们对这个转换感兴趣,自己动手去尝试了之后遇到了问题的,可以添加好友一起探讨一下。

    相关文章
    |
    2月前
    |
    人工智能 数据可视化 测试技术
    Postman 性能测试教程:快速上手 API 压测
    本文介绍API上线后因高频调用导致服务器告警,通过Postman与Apifox进行压力测试排查性能瓶颈。对比两款工具在批量请求、断言验证、可视化报告等方面的优劣,探讨API性能优化策略及行业未来发展方向。
    Postman 性能测试教程:快速上手 API 压测
    |
    2月前
    |
    测试技术 Linux
    VPS一键测试脚本,无痕体验+自动导出,服务器测试更轻松
    NodeQuality 是一款整合 Yabs、IPQuality、NetQuality 等主流 VPS 测试脚本的全能工具,支持一键测试硬件性能、IP属性、网络质量,并新增分享与导出功能。其“无痕测试”设计不安装依赖、不留残留,兼容性强;测试结果自动排版、截图并生成分享链接,极大提升效率。适合需要全面、快速、干净测试 VPS 的用户,是运维和测评的高效利器。
    228 3
    |
    2月前
    |
    存储 缓存 测试技术
    理解Python装饰器:简化代码的强大工具
    理解Python装饰器:简化代码的强大工具
    |
    3月前
    |
    程序员 测试技术 开发者
    Python装饰器:简化代码的强大工具
    Python装饰器:简化代码的强大工具
    209 92
    |
    2月前
    |
    机器学习/深度学习 编解码 Python
    Python图片上采样工具 - RealESRGANer
    Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
    242 3
    |
    2月前
    |
    人工智能 数据可视化 测试技术
    AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
    AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
    451 11
    |
    3月前
    |
    人工智能 自然语言处理 安全
    Python构建MCP服务器:从工具封装到AI集成的全流程实践
    MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
    741 1
    |
    3月前
    |
    JSON API 开发者
    深度分析阿里妈妈API接口,用Python脚本实现
    阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
    |
    2月前
    |
    存储 测试技术 API
    数据驱动开发软件测试脚本
    今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
    105 0
    |
    2月前
    |
    算法 安全 数据安全/隐私保护
    Python随机数函数全解析:5个核心工具的实战指南
    Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
    546 0

    推荐镜像

    更多