前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过Postman工具如何快速批量生成Python Pytest的测试脚本

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

作者头像
小博测试成长之路
发布2021-12-27 08:39:43
1.4K0
发布2021-12-27 08:39:43
举报
文章被收录于专栏:软件测试学习

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

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

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

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

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

https://github.com/xNok/postman2robotframework

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

代码语言:javascript
复制
代码根目录下执行:
python setup.py install

具体的用法,github上都有写:

代码语言:javascript
复制
postman2robot 的命令要传2个参数,一个指定postman导出的json文件,另一个指定转换后的文件的目录。

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

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

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

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

原来的内容如下:

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

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

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档