postman应用

来源:互联网 发布:java不关闭流 编辑:程序博客网 时间:2024/06/06 14:43

1 安装

https://chrome.google.com/webstore/search/postman?hl=zh-CN
输入以上地址后,安装如下图所示插件即可,然后会在桌面生成快捷方式


2 初级应用

打开postman后,输入接口地址和类型,在body内填写完提交的form表单参数,点击send即可在下方查看接口返回信息

3  进阶应用

在Pre-Request和Tests里可以预先设置好参数数据和结果校验,用来实现后期接口半自动化与全自动化的应用.

 

预置脚本与结果校验除了PostMan自带的函数以外,其他都可以用javasrcipt实现

例如我们需要实现一个用户注册的接口自动化,接口地址为http://api.uc.hxmklmall.cn/wechat/sendMsg和http://api.uc.hxmklmall.cn/wechat/registerByWeChat其实现逻辑如下:

1 先去短信接口获取到短信验证码

2 然后拿着验证码和手机号去调用接口进行注册

3 同一手机号不得重复注册

 

根据以上逻辑,我们需要在Pre-Request和Body内进行如下设置:

短信接口脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//短信Pre-Request:
postman.setEnvironmentVariable("random_mobile",parseInt(Math.random()*(13999999999-13000000000)+13000000000)); //使用JavaScript随机出一个13开头的手机号,传入random_mobile参数
//短信Body参数:
appId:6be5ccba
appSecret:5513227ccbd343e971994af2e913ae50955193fc
mobiles:{{random_mobile}} //使用PreRequest里面的参数
smsType:register
//短信Tests:
var data = JSON.parse(responseBody); //将返回值传入data
    if (data.data) { tests["短信"] = true//校验短信值是否有获取到
    postman.setEnvironmentVariable("smsCode", data.data); //将data.data的值,即验证码传入参数”smsCode”,后面会用到
    }
    else {
    tests[“短信"] = false;
}
注册接口脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//注册Pre-Request
function openid(len) {
  len = len || 32;
  var $chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678';
  var maxPos = $chars.length;
  var pwd = '';
  for (i = 0; i < len; i++) {
    pwd += $chars.charAt(Math.floor(Math.random() * maxPos));
  }
  return pwd;
//定义一个可控长度的随机字符串方法
postman.setEnvironmentVariable("random_weChatOpenid", openid(32)) //将一个32位长度的随机字符串传入参数random_weChatOpenid 
 
//注册Body:
appId:6be5ccba
appSecret:5513227ccbd343e971994af2e913ae50955193fc
accessToken:aT
refreshToken:rT
scope:snsapi_userinfo
data:可惜不是你
weChatOpenid:{{random_weChatOpenid}} //每次注册的微信Openid不得重复,因此也必须随机参数化
unionId:pEFX3X6B72YpYR55rAErbty5CJE7XepW
avatar:https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=504634773,2884940232&fm=58
ip:192.168.1.1
nickName:【廸歐īd大师º 】
deviceId:IMRE_adi
name:于小二
mobile:{{random_mobile}} //使用前一个接口的手机号参数
smsCode:{{smsCode}} //使用前一个接口保存的验证码参数
createAt:2016-07-05
vipSource:3006
marketDescr:真南商场
gender:1
  
 //注册Tests:
var jsonData = JSON.parse(responseBody);
tests[“errorCode校验”] = jsonData.errorCode === 0; //返回code为0表示成功
tests[“openid exist”] = responseBody.has(“openid”); //返回值内含有openid 

 

将以上两个接口用例保存后按顺序放入新建的文件夹后,点击文件夹右上角呼出执行页面,点击Run.跳转至执行页面,设定好Environment(测试环境)和Iteration(次数)后点击starttest

 

然后就可以愉快的查看执行结果了,这样我们就完成了http接口的半自动化测试.
PostMan自定义的函数有很多,测试校验函数就有十数种,大家可以根据自己需求来定义Tests里面的校验函数达到自己的测试目标

4 高级应用

newman是一个Postman配套的命令行工具,可以通过命令行形式执行postman的脚本,这样为我们实现全自动化提供了坚实基础.

newman应用和nodejs的下载地址:https://pan.baidu.com/s/1eRAMmBo

在执行环境安装node.js和JDK(Node版本5.4以上,JDK版本1.7以上)
在cmd命令行中输入 npm install -g newman 执行安装
newman –V  //查看安装是否成功,注意大小写
导出postman的执行文件
•执行指定的Collection文件(本地)
•newman -c *.json.postman_collection
•执行指点定的Collection文件及Environment文件(本地)
•newman -c *.json.postman_collection -e *.postman_environment
•执行保存到服务器上的Collection(云端)
•newman -u https://www.getpostman.com/collections/cb208e7e64056f5294e5
•循环执行Collection文件5次(云端)
•newman -u https://www.getpostman.com/collections/cb208e7e64056f5294e5 -n 5
以上为脚本执行的一些命令,各位自行深入研究

 

最后,愉快的查看命令行执行结果..
由于newman支持命令行控制,也就能通过jenkins下Job的commandline实行全自动化.

0 0
原创粉丝点击