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

    相关文章
    |
    1月前
    |
    JSON 算法 API
    深度分析小红书城API接口,用Python脚本实现
    小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
    |
    1月前
    |
    JSON API 数据安全/隐私保护
    【干货满满】分享微店API接口到手价,用python脚本实现
    微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
    |
    1月前
    |
    JSON API 数据格式
    深度分析大麦网API接口,用Python脚本实现
    大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
    |
    27天前
    |
    程序员 测试技术 开发者
    Python装饰器:简化代码的强大工具
    Python装饰器:简化代码的强大工具
    151 92
    |
    28天前
    |
    前端开发 Java jenkins
    Jmeter压力测试工具全面教程和使用技巧。
    JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
    439 10
    |
    30天前
    |
    人工智能 自然语言处理 安全
    Python构建MCP服务器:从工具封装到AI集成的全流程实践
    MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
    331 1
    |
    1月前
    |
    JSON API 开发者
    深度分析阿里妈妈API接口,用Python脚本实现
    阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
    |
    30天前
    |
    API 数据安全/隐私保护 开发者
    深度分析苏宁API接口,用Python脚本实现
    深度分析苏宁API接口,用Python脚本实现
    |
    1月前
    |
    JSON API 数据安全/隐私保护
    深度分析虾皮城API接口,用Python脚本实现
    虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
    |
    1月前
    |
    前端开发 Shell API
    深度分析58同城API接口,用Python脚本实现
    58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。

    推荐镜像

    更多