GVKun编程网logo

Postman(一)、断言(postman 断言)

29

在这篇文章中,我们将带领您了解Postman(一)、断言的全貌,包括postman断言的相关情况。同时,我们还将为您介绍有关postman(三):添加断言、Postman-断言和Runner、Post

在这篇文章中,我们将带领您了解Postman(一)、断言的全貌,包括postman 断言的相关情况。同时,我们还将为您介绍有关postman (三):添加断言、Postman - 断言和 Runner、Postman 2.0 发布,包括 Postman Sync、Postman Interceptor 安装成功却无法在 Postman 启用的解决办法的知识,以帮助您更好地理解这个主题。

本文目录一览:

Postman(一)、断言(postman 断言)

Postman(一)、断言(postman 断言)

postman常见断言方法介绍:

1、Clear a global variable (清除一个全局变量) 

postman.clearGlobalVariable("variable_key");

2、Clear an environment variable (清除一个环境变量)  

postman.clearEnvironmentVariable("variable_key");

3、Response body:Contains string (返回消息体中包含某个内容)  

tests["Body matches string"] = responseBody.has("string_you_want_to_search");

4、Response body:Convert XML body to a JSON Object (将xml格式转换成json格式)  

var jsonObject = xml2Json(responseBody);

5、Response body:Is equal to a string (返回的消息体等于某个字符串)  

tests["Body is correct"] = responseBody === "response_body_string";

6、Response body:JSON value check (json值校验)    

var jsonData = JSON.parse(responseBody);
  tests["Your test name"] = jsonData.value === 100;

7、Response headers:Content-Type header check (检查消息头中是否有某个字段)  

tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");

8、Response time is less than 200ms (响应时间判断)  

tests["Response time is less than 200ms"] = responseTime < 200;

9、Set a global variable (设置全局变量)  

postman.setGlobalVariable("variable_key", "variable_value");

10、Setting an environment variable  (设置一个环境变量)  

postman.setEnvironmentVariable("variable_key", "variable_value");

11、Status code:Code is 200 (判断状态码)  

tests["Status code is 200"] = responseCode.code === 200;

12、Status code:Code name has string (检查code name 是否包含内容)  

tests["Status code name has string"] = responseCode.name.has("Created");

13、Status code:Successful POST request (成功的post请求)  

tests["Successful POST request"] = responseCode.code === 201 || responseCode.code === 202;

14、Use Tiny Validator for JSON data (验证器)  

  

var schema = {
  "items": {
  "type": "boolean"
  }
  };
  var data1 = [true, false];
  var data2 = [true, 123];

  tests["Valid Data1"] = tv4.validate(data1, schema);
  tests["Valid Data2"] = tv4.validate(data2, schema);
  console.log("Validation failed: ", tv4.error);

 

postman (三):添加断言

postman (三):添加断言

进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
进行接口测试时,添加断言时必不可少的,断言就是判断响应内容与预期返回是否一致
 
postman 可以在请求模块的 Tests 标签添加断言,比较方便的是,postman 已经提供了一些代码片段供我们使用
 
下面以一个接口实例来说下如何处理断言:

 

如上,响应 body 的内容为一个 json 格式的字符串,这些内容可以作为断言的依据
切换到 Tests 标签,控制台右侧可以看到备用的代码片段

 

 
1. 判断响应内容是否包含某个字符串
点击选择【Response body:Contains string】,左侧出现如下代码段

 

其中,pm 是 postman 的主要对象,一般通过它来调用函数、数据等;
Body matches string 可以看作这个测试代码段的描述说明,可以自己定义;
string_you_want_to_search 表示预期响应内容,即用来断言的标准输出,需要根据实际情况设置;
改为如下:
意思就是:判断响应 body 中是否包含字符串 “重点人员修改成功”
如果包含,表示断言结果通过;如果不包含,表示断言结果不通过。
 
2. 判断响应内容是否和预期内容完全一致
点击选择【Response body:Is equal to a string】,左侧出现如下代码段

 

其中,response_body_string 处填写的内容要和接口返回的内容完全一致才可以匹配成功
假如响应 body 内容如下

 

那么需要把所有返回的内容填写到 response_body_string 处才可以
拷贝响应内容时,把 Raw 标签中的原始返回内容放过去即可,这样避免出现格式问题

 

 
3. 判断返回 json 数据中某个键对应的值
如果响应内容是 json 格式的字符串,则可以断言 json 数据中的某个键值对
点击选择【Response body:JSON value check】,左侧出现如下代码段
 

 

其中,Your test name 表示这个测试片段的名称,可以自己任意定义;
jsonData.value 表示响应 json 串中的某个键,如果响应内容如下

 

所以,jsonData.value 可以是 json.status 或 json.desc 或 json.data
eql () 填写的预期返回的字符串 (把 100 改为断言内容即可)
最终形式如下:

 

如果响应内容是嵌套的字典格式,则一层层引用即可,如下:

 

如果字典中嵌套了列表,则按照索引引用即可,反正要看清响应内容的格式

 

 
4. 判断请求返回的状态码是否为 200
点击选择【Status code:Code is 200】,左侧出现如下代码段

 

 
其中,Status code is 200 表示这个测试片段的名称,可自己定义

 

5. 判断响应体中某个返回值的类型

 

同样点击选择【Response body:JSON value check】,然后要把 jsonData.value 放在一个 typeof () 函数中,这样就是判断输出值的类型了
 
断言设置好后,点击【Send】发送请求,在响应模块的 Test Results 标签中可以看到断言结果
如果实际返回结果与预期符合,如下:

 

如果实际返回结果与预期不符,则如下:

 


2018-12-24  21:23:59
 
 
 
 

Postman - 断言和 Runner

Postman - 断言和 Runner

断言 (部分)

// 推荐用全等 ===,确保类型和值都一致
tests [''Status code is 200''] = responseCode.code === 200; // 判断响应结果是否是 200
// 判断是否存在 ''code'' 值
tests["Body matches code"] = responseBody.has("NON001");
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable ("sessionId",jsonData.result);// 响应结果中的 result 保存为 sessionId 的值
tests [`[INFO] Request params: ${JSON.stringify (request.data)}`] = true;// 打印 request 的请求信息
tests ["have code"]=jsonData.hasOwnProperty ("code")===true;// 断言响应结果中是否存在 code
tests [`[INFO] Response timeout: ${responseTime}`] = responseTime < 6000;// 断言响应时间
   collections
  可以将编写的接口用例加入 collections,便于执行 runner 操作;加入界面如图
   Runner
  在 postman 主页面中,点击 runner,打开运行界面,
  在 runner 页面中,左侧显示的是历史运行结果,中间是需要进行测试的接口用例信息,其中 Environment 显示的是需要进行的环境设置,而 Iteration 是需要进行迭代的次数;而右侧显示的是运行接口用例详情。
 

Postman 2.0 发布,包括 Postman Sync

Postman 2.0 发布,包括 Postman Sync

Postman 是一个 Chrome 扩展,提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的HTTP 请求 (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers。

非常棒的Chrome扩展,用于API & HTTP 请求调试:Postman

支持不同的认证机制(basic, digest, OAuth),接收到的响应语法高亮(HTML,JSON或XML)。Postman 能够保留了历史的请求,这样我们就可以很容易地重新发送请求,有一个“集合”功能,用于存储所有请求相同的API/域。

Postman 2.0 发布,此版本现已提供在 Chrome Web Store。Postman 2.0 可以使用称之为 Postman Sync 的服务存储和备份云上的数据。Postman Sync 可以备份你的 Postman collecitons,环境和 header presets,当在其他系统使用 Postman 的时候就可以使用相同的信息。更多内容请看发行说明。

Postman Interceptor 安装成功却无法在 Postman 启用的解决办法

Postman Interceptor 安装成功却无法在 Postman 启用的解决办法

新手在使用 Postman 和 Postman Interceptor 的过程中总会遇到各种各样的问题。我们 chrome 插件网 争取在这里汇总大家遇到的所有的问题的解决方案。今天要分享的解决方案问题是: Postman Int

新手在使用 Postman 和 Postman Interceptor 的过程中总会遇到各种各样的问题。我们 chrome 插件网争取在这里汇总大家遇到的所有的问题的解决方案。今天要分享的解决方案问题是:Postman Interceptor 已经离线安装成功了,可是当用户想要在 Postman 中启用 Postman Interceptor 插件时却发现无法开启,提示要求安装 Postman Interceptor 插件。这就郁闷了啊,明明已经安装了,为什么还提示没有安装呢?
postman interceptor安装成功
出现上述情况的原因可能是:Postman 和 Postman Interceptor 插件版本相差太远了。因为 Postman 和 Postman Interceptor 插件每次版本发布并不是同时发布的。

解决方法:

1. 如果你不嫌麻烦的话 Postman 和 Postman Interceptor 插件全部换成最新版本安装。
2. 修改 postman 安装包中 js/requester.js 和 runner.js ,需要将其中的 aicmkgpgakddgnaphhhpliifpcfhicfo 字符串替换成扩展程序界面的 Interceptor 的 id,如下图所示:每个人,每次安装这个 id 都不一样,所以需要自己去复制,切记。
postman interceptor安装问题
替换完成之后,在扩展程序中,重新加载 postman 插件,然后,再次点击开启 Interceptor 的图标,就会成为高亮状态。说明启用 Interceptor 成功了。

我们今天的关于Postman(一)、断言postman 断言的分享已经告一段落,感谢您的关注,如果您想了解更多关于postman (三):添加断言、Postman - 断言和 Runner、Postman 2.0 发布,包括 Postman Sync、Postman Interceptor 安装成功却无法在 Postman 启用的解决办法的相关信息,请在本站查询。

本文标签: