Postman学习笔记(二)

Postman实战问题归总

1、如何查看Tests和Pre-request Script里面console.log()打印的值。
  答:Postman顶部View——Show Postman Console,即可看到输出和相关请求和返回内容记录。如下图所示

2、如果请求体返回的是JSON字符串,那么Tests断言时首先得先把JSON字符串转换成JSON对象,再去校验JSON值。

答:

 pm.test("IsSucess为true", function () {
     //json字符串转json对象
     var jsonData = JSON.parse(pm.response.json());
     pm.expect(jsonData.IsSucess).to.eql(true);
 });

3、如果返回体的值为xml格式的,那么Tests如何校验xml里数据的值。
  例:接口返回体xml的值如下。

 <?xml version="1.0" encoding="UTF-8"?>
 <response>
     <options>
         <option>
             <key>123</key>
             <value>测试</value>
         </option>
         <option>
             <key>456</key>
             <value>测试2</value>
         </option>
     </options>
     <code>0000</code>
     <message>返回成功</message>
 </response>

  那么如何校验到以上返回体xml中的第一个option的value值和如何校验到xml里的message的值。

答:

 var jsonObject = xml2Json(responseBody);
 //校验接口status的code
 pm.test("Status code is 200", function () {
     pm.response.to.have.status(200);
 });
 //校验第一个option的value值
 pm.test("返回值第一个值是测试", function () {
     var jsonvalue = jsonObject.response.options.option[0].value;
     pm.expect(jsonvalue).to.eql("测试");
 });
 //校验message的值
 pm.test("message is 返回成功", function () {
     var jsonmessage = jsonObject.response.message;
     pm.expect(jsonmessage).to.eql("返回成功");
 });

4、Postman监视器Monitors,监视器只适用于外网的接口,不适用于公司内网的接口监控。内网接口做监视器调用时会有以下报错:

  Error:getaddrinfo ENDOTFOUND XXX.XXX XXX.XXX

5、Postman功能点:

(1)测试环境的配置,postman支持全局变量配置

(2)测试setup配置,postman支持pre-script脚本

(3)测试断言,postman支持test,如果你不会写代码,postman提供了好多test模版点一下就能用,修改下参数,如果这点东西都不想学就别做接口测试了。

(4)测试执行,postman支持collection集合执行,还可以设置执行次数,执行时间

(5)调试的话,postman有postman console

(6)团队协作的话,postman支持teamwork,可以使用team workspace,还支持collection分享,即使免费的一个月可以分享2000次,还可以导出

(7)持续集成可以用Newman Jenkins啥的

(8)postman还支持mock数据

6、变量的优先级

  优先级从高至低为:Data——>Enviroment——>Collection——>Global——>Local

 

posted @ 2020-05-27 16:40  wuwei丶  阅读(825)  评论(0编辑  收藏  举报