(1).  postman对象: pm

(2).  获取接口返回的数据,转为json格式: let jsonData=pm.response.json();

(3).  全局变量的设置、获取、删除:

pm.globals.set("variable_key", "variable_value");
pm.globals.get("variable_key");
pm.globals.unset("variable_key");

(4). 环境变量的设置、获取、删除:

pm.environment.set("variable_key", "variable_value");
pm.environment.get("variable_key");
pm.environment.unset("variable_key");

三. 关联案例

1. 背景

当接口和接口之间,有依赖关系时,需要借助 postman 关联技术,来实现。如: 登录接口 返回的 令牌数据(token),需要被其它接口依赖使用。思路如下:

2. 实操

(1). 登录接口中的代码:

(2). 其它接口中的代码:

直接使用 {{token}} 即可

四.  断言

1.  什么是断言?

让 Postman工具 代替 人工 自动判断 预期结果 和 实际结果 是否一致

(1). 断言代码 书写在 Tests 标签页中。

(2). 查看断言结果 Test Results 标签页

另外常用的断言代码postman中都内置了:

2. 断言响应状态吗

pm.test("测试状态码是否为200", function () {
    pm.response.to.have.status(200);

3. 断言字符串

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");

4. 断言JSON

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);

上述的 .value ,可以改为返回数据中的key

五. 参数化

1. 简介

(1). 什么是参数化 ?

    将 测试数据,组织到 数据文件中,通过脚本的反复迭代,使用不同的数据,达到测试不同用例的目标。

(2). 应用场景

   一般在测试同一个接口的不同 测试点时,只有测试数据不同。考虑使用 参数化。

2. 数据文件

(1). CSV

优点:数据组织格式简单

   1. 不能测试 bool 类型。因为 postman 读取 csv后,将所有非数值类型数据,自动添加 ”“ 变为字符串

   2. 不能存储复杂数据类型(元组、列表、字典)。

   3. 不能实现 参数测试。

应用场景:数据量较大,数据组织格式简单。

如果编码不正确,可以通过下面的方式调整一下:

(2). JSON

   1. 可以测试 bool类型

   2. 能使用 复杂数据类型

   3. 可以实现 参数测试。

缺点:相同数据量,json文件要远大于 csv 文件。

应用场景:数据量较少,数据组织格式复杂。需要进行 参数测试!

3. 实操

     以一个登录接口为例,采用参数化的形式校验接口返回结果和预期结果是否相同。接口的返回格式如下图,这里就是重点判断 数据文件中的 myResult字段 和  接口返回的msg字段  是否相同。

(1). 配置基本的URL 和 参数, 上述数据文件(cvs 或 json),账号和密码的字段名称分别为: myAccount、myPwd,所以这里参数的位置需要通过 {{myAccount}}、{{myPwd}} 的方式传入。

(2).  编写测试脚本, 注意:通过data对象获取数据文件中的参数,比如 data.myResult 

(3). 导入数据文件:  点击根目录 → 点击run按钮

进入Runner页面,选择需要测试的接口 → 选择数据文件

查看数据文件 → 进行测试

测试结果如下:

另外点击菜单 view - show postman console,可以跟踪请求详情。

  • 作       者 : Yaopengfei(姚鹏飞)
  • 博客地址 : http://www.cnblogs.com/yaopengfei/
  • 声     明1 : 如有错误,欢迎讨论,请勿谩骂^_^。
  • 声     明2 : 原创博客请在转载时保留原文链接或在文章开头加上本人博客地址,否则保留追究法律责任的权利。
  •