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

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

项目重构后,如何利用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上都有写:

cd32018e853ce1a1b5f857417f3e27fd.png

postman2robot 的命令要传2个参数,一个指定postman导出的json文件,
另一个指定转换后的文件的目录。

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

45d3b5358c2785b92c6338942844b9ca.png

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

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

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

原来的内容如下:

a92e86fba5a4bb2a263a4ff0d9137f4f.png

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

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

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

62e163d5baed9783fd1f84834a2a6fed.png

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

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

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

觉得文章写的还行的话,点个赞给个关注吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小博测试成长之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值