API测试总结


数据格式

1、JSON

2、表单

3、XML

以查询电话号地址为例 http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo 操作表单和XML,以风暴平台操作JSON http://101.43.158.84/#/

JMeter操作:

JSON

 

表单

XML

PostMan操作:

动态参数

PostMan实战

以风暴平台登录为例


PostMan描述

1、首先登录风暴平台,通过Network抓包到POST请求地址以及请求参数

2、在PostMan中输入正确的地址及参数

3、在Tests中

a 定义一个变量

var dtcs=JSON.parse(responseBody) b 设置一个动态参数 pm.environment.set("token", dtcs.token);   c 验证动态参数‘ tests["验证token的值"] = dtcs.token =     pm.environment.get("token"); d 之后输入{{变量名}}来引用

JMeter实战

 

   


JMeter描述

1、首先登录风暴平台,通过Network抓包到POST请求地址以及请求参数

2、在JMeter登录控制器中输入正确的地址及参数

3、在登录控制器下添加JSON提取器,提取token的值

4、在HTTP信息头管理器中引用变量${变量名}

数据驱动

PostMan

JMeter

参数化

txt(记事本)

 txt描述

首先添加CSV Data Set Config配置原件

找到txt后缀的记事本目录

在“文件编码”下选择UTF-8

在登录控制器下使用${变量名}来引用用户名和密码

可在对应的记事本下进行修改参数

添加参数的数量,要修改线程组的里的线程数

csv

 CSV描述

首先添加CSV Data Set Config配置原件

找到CSV后缀的Excel目录

在“文件编码”下选择UTF-8

在登录控制器下使用${变量名}来引用用户名和密码

可在对应的csv文件下进行修改参数

添加参数的数量,要修改线程组的里的线程数

session

SESSION流程

  1. 客户端输入账户密码登录成功

  2. 在服务端会生成SESSIONID,同时存储在服务端本地,把通过响应头中的Set-cookie把生成的SESSIONID返回给客户端

  3. 客户端收到SESSIONID后

  4. 客户端再次请求服务端(比如访问个人主页),会在请求头的cookie中带上SESSIONID发送给服务端

  5. 服务端接收到客户端发送过来的SESSIONID,与存储在服务端本地的SESSIONID之间会进行比较,如果一致,允许访问个人主页,如果不一致,就会重定向到登录页面

JMeter实战

以51cto学堂为例,https://edu.51cto.com/

 SESSION流程描述

以51cto学堂为例

在登录界面抓取到需要的数值,放置在HTTP信息头管理器中

将登录的路径以及参数填写准确

直接在登录控制器上添加HTTP Cookie管理器

这样在之后的请求中会带上SESSIONID

测试报告

PostMan实战

 


PostMan描述

首先将测试用例export(导出)至文件夹或桌面

在控制台中输入命令找到目标用例的存储目录

输入newman run命令在控制台出现测试结果

输入-r   html命令生成测试报告

JMeter实战


JMeter描述

将完成的测试用例保存至script目录下

修改build.xml中JMeter路径、发送至邮箱、报告名称、发送的报告名称

打开控制台,进入相应的目录下

输入ant执行发送报告