当前位置: 首页>移动开发>正文

python加postman实现接口自动化 postman做接口自动化

最近做的项目中需要进行接口相关的测试,于是使用Postman模拟HTTP请求,并将自己遇到的问题及工具的基本用法进行总结,以供自己后期回顾。Postman作为一个图形界面的接口测试工具,因为其简单易用、功能强大,备受大家欢迎

一、 软件安装
Postman支持在windows、linux、MacOS系统中安装,其安装比较简单;官网下载相应版本后,直接下一步安装即可;安装完成后,可以注册账号,这样只要登录了该账号,在任何连接了互联网的电脑上都可以同步已创建的脚本;

二、 基本用法

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_Postman,第1张

1、 HTTP请求方法:基本的请求方法有:GET、POST、PUT(传输文件)、HEAD(获得报文首部)、DELETE(删除文件,与PUT相反)、OPTIONS(询问支持的方法)、TRACE(追踪路径)、CONNECT(要求用隧道协议连接代理);

注:目前我们接口用到的大多是GET和POST;请求方法区分大小写,为大写字母;

2、 请求URL(统一资源定位符): https://xxx.xxx.com/xxx/xx/xxx/ /xxx?appType=1&userName=1234567890

https:为协议方案名;xxx.xxx.com:服务器地址(可以是域名、IPv4、IPv6地址);xxx/xx/xxx/ xxx :文件路径;appType=1:查询字符串;

3、 请求参数:填写接口的请求参数;

4、 请求参数名和参数值;

5、 请求头;

6、 请求体:POST方法中填写请求参数;

7、 预处理脚本(js):脚本执行时,最先执行这里的脚本,可以在这里生成动态变量,设置变量等;

8、 测试脚本(js):可以使用断言判断接口执行情况,还可以用来提取变量,用于其他接口执行;

9、 响应体:返回脚本响应结果;

10、测试集合:分类管理测试请求,集合内部还可以创建子集合;

11、环境变量:使用{{xxx19}}格式调用变量

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_接口_02,第2张

12、设置的变量值:变量调用格式;

13、响应状态码:格式:200(3位数字,其中第1位表示响应类别) OK(原因短语):返回响应结果,标记服务端处理是否正常;响应类别共5种:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_服务器_03,第3张

下面列举经常遇到的响应状态码:

200 OK:表示客户端发送的请求被服务端正常处理了;

204 No Content:服务端成功处理了请求,但不返回任何内容;

301 永久重定向:请求的资源的URI已被更新,以后都是用新的URI;

302 临时重定向:与301的不同是,URI可能还会变动;

400 Bad Request:表示请求报文中存在语法错误;

403 Forbidden:服务器拒绝访问请求资源;

404 Not Found:服务器上没有请求的资源;

500 Internal Server Error:服务端内部错误;

503 Server Unavailable:服务器不可用;

14、响应时间;

15、Code:将测试脚本转换为常见测试框架支持的代码(可实现CI/CD),如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_postman_04,第4张

三、 接口测试步骤

上面介绍了Postman界面的基本用法,下面结合实际项目阐述接口测试步骤,该步骤仅代表个人测试步骤,若有更好的方法,欢迎补充;

1、 编写接口用例

根据开发提供的接口文档编写用例,不再赘述;

2、 编写接口脚本

(1) 设置环境变量xxx19,由于测试环境可能会发生变化,并且域名较长,因此使用环境变量代替;

(2) 脚本编写原则,除了测试正常场景外,还会遍历测试参数缺失、错误、类型错误场景;

注:这里应该还需要测试其他场景,但不知道还需要测试哪些

(3) tests断言判断脚本执行结果,一般判断code值是否正确,其他参数返回按需测试;下面简述我的断言测试内容,接口详情如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_请求参数_05,第5张

1)我的脚本在这里需要提取变量,作为后面脚本的参数,在tests中编写如下代码:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_postman_06,第6张

图中,将接口的返回Body中的uuid值提取出来后,设置为全局变量uuid-ddt-all给后面的接口调用;

2)使用Ctrl+Alt+C调出Postman Console,可以看到响应Body的值:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_服务器_07,第7张

3)编写脚本测试code值为0,测试qiYuMobile值为输入的参数userName的值(环境变量app-all),方法如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_postman_08,第8张

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_服务器_09,第9张

(4) 预请求脚本Pre-request Script,用来生成动态变量,如下接口请求头中需要两个参数,这两个参数都需要获取当前时间:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_postman_10,第10张

其中,authTime值为当前时间(按年月日时分秒格式),token值为固定值+authTime+字符串的MD5值,使用js脚本实现如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_postman_11,第11张

在console中可以看到打印结果,如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_Postman_12,第12张

(5)顺序执行集合中的脚本,如下步骤:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_接口_13,第13张

如果需要测试接口在不同的数据输入时运行情况,可以使用数据文件,数据文件可以是JSON/CSV两种格式,我们这里使用ISON格式,数据文件如下:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_Postman_14,第14张

接口调用该参数:

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_接口_15,第15张

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_Postman_16,第16张

python加postman实现接口自动化 postman做接口自动化,python加postman实现接口自动化 postman做接口自动化_服务器_17,第17张



https://www.xamrdz.com/mobile/4zn1963371.html

相关文章: