postman断言测试脚本一

本文详细介绍使用Postman进行API测试的各种脚本技巧,包括清除变量、验证响应内容、转换数据格式、设置变量、检查HTTP状态码及响应时间等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 清除一个全局变量
     Clear a global variable
    对应脚本:
    postman.clearGlobalVariable("variable_key");
    参数:需要清除的变量的key 

2.清除一个环境变量
    Clear an environment variable
    对应脚本:
    postman.clearEnvironmentVariable("variable_key");
    参数:需要清除的环境变量的key

3.response包含内容
    Response body:Contains string
    对应脚本:
    tests["Body matches string"] =responseBody.has("string_you_want_to_search");
    参数:预期内容 

4.将xml格式的response转换成son格式
    Response body:Convert XML body to a JSON Object
    对应脚本:    var jsonObject = xml2Json(responseBody);
    参数:(默认不需要设置参数,为接口的response)需要转换的xml 

5.response等于预期内容
    Response body:Is equal to a string
    对应脚本:
    tests["Body is correct"] = responseBody === "response_body_string";
    参数:预期response

  6.json解析key的值进行校验
    Response body:JSON value check
    对应脚本:
    tests["Args key contains argument passed as url parameter"] = 'test' in responseJSON.args
    参数:test替换被测的值,args替换被测的key 

7.检查response的header信息是否有被测字段
    Response headers:Content-Type header check
    对应脚本:
    tests["Content-Type is present"] = postman.getResponseHeader("Content-Type");
    参数:预期header 

8.响应时间判断
    Response time is less than 200ms
    对应脚本:
    tests["Response time is less than 200ms"] = responseTime < 200;
    参数:响应时间   

9.设置全局变量 

Set an global variable
      对应脚本:
      postman.setGlobalVariable("variable_key", "variable_value");
      参数:全局变量的键值   

10.设置环境变量     

Set an environment variable
      对应脚本:
      postman.setEnvironmentVariable("variable_key", "variable_value");
      参数:环境变量的键值   

11.判断状态码
      Status code:Code is 200
      对应脚本:
      tests["Status code is 200"] = responseCode.code != 400;
      参数:状态码   

12.检查code name 是否包含内容
      Status code:Code name has string
      对应脚本:
      tests["Status code name has string"] = responseCode.name.has("Created");
      参数:预期code name包含字符串   

13.成功的post请求
      Status code:Successful POST request
      对应脚本:
      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];        console.log(tv4.error);
        tests["Valid Data1"] = tv4.validate(data1, schema);
        tests["Valid Data2"] = tv4.validate(data2, schema);
        参数:可以修改items里面的键值对来对应验证json的参数

<think>我们正在处理个关于Postman测试脚本的查询。用户希望获得常用测试脚本的示例或教程。根据提供的引用,我们可以总结出以下关键点:1.测试脚本使用JavaScript编写,用于自动化验证API响应(引用[1])。2.可以使用ChaiAssertionLibrary的BDD语法(如pm.expect和pm.test)来构建断言和测试用例(引用[2])。3.Postman提供了测试片段(代码片段)来简化编写过程(引用[3])。4.测试脚本写在请求的“Tests”选项卡中(引用[4])。5.可以将Postman脚本导出为Python脚本(引用[5]),但这可能不是用户当前关心的重点。因此,我们的回答应侧重于提供常用测试脚本示例,并指导用户如何使用这些脚本。由于用户要求的是“常用测试脚本示例或教程”,我们将组织几个常见场景的测试脚本示例,并简要说明如何编写和运行它们。注意:我们不需要详细解释每个函数,而是提供直接可用的示例,并确保语法正确(使用Postman的pm.*API)。示例将包括:-检查响应状态码-验证响应头-验证响应体(JSON)-检查响应时间-设置环境变量/全局变量-使用动态变量同时,我们也要生成相关问题,以引导用户深入学习。根据引用[2]和[3],我们可以利用Postman内置的代码片段来快速构建测试用例,因此我们会在回答中提到这点。最后,在回答中引用的地方添加引用标识。</think>### Postman常用测试脚本示例与教程 在Postman中,测试脚本使用JavaScript编写,主要位于请求的 **"Tests"** 选项卡中。以下是常用测试脚本示例及核心用法: --- #### 、基础验证脚本 1. **响应状态码验证** 检查API是否返回200状态码: ```javascript pm.test("状态码为200", function() { pm.response.to.have.status(200); }); ``` 2. **响应头验证** 验证Content-Type是否为JSON: ```javascript pm.test("响应头包含JSON", function() { pm.expect(pm.response.headers.get('Content-Type')).to.include('application/json'); }); ``` 3. **响应体字段验证** 检查JSON响应中的特定字段值: ```javascript pm.test("用户ID存在且为数字", function() { const jsonData = pm.response.json(); pm.expect(jsonData.userId).to.be.a('number'); }); ``` --- #### 二、高级验证脚本 1. **响应时间阈值检测** 确保响应时间小于500ms: ```javascript pm.test("响应时间合格", function() { pm.expect(pm.response.responseTime).to.be.below(500); }); ``` 2. **动态环境变量验证** 将响应数据存入环境变量并验证: ```javascript const token = pm.response.json().access_token; pm.environment.set("auth_token", token); // 存储变量 pm.test("Token非空", () => { pm.expect(pm.environment.get("auth_token")).to.not.be.empty; }); ``` 3. **JSON Schema验证** 使用Ajv库验证数据结构: ```javascript const schema = { type: "object", properties: { name: {type: "string"}, age: {type: "number"} } }; pm.test("Schema验证通过", () => { pm.expect(tv4.validate(pm.response.json(), schema)).to.be.true; }); ``` --- #### 三、实用技巧 1. **使用代码片段加速开发** Postman右侧提供常用代码片段库(如"Status code is 200"),点击即可插入[^3]。 2. **链式断言语法** 利用Chai库的BDD风格断言: ```javascript pm.test("综合验证", () => { pm.expect(pm.response).to.have.status(200) .and.to.have.jsonBody('data.length', 10); }); ``` 3. **脚本调试** 使用`console.log()`输出调试信息,在Postman控制台查看: ```javascript console.log("响应体:", pm.response.text()); ``` --- #### 四、学习资源推荐 1. **官方文档** [Postman Learning Center](https://learning.postman.com/docs/writing-scripts/test-scripts/) - 完整测试脚本指南[^2] 2. **实战教程** - [API测试自动化教程](https://www.postman.com/resources/video-tutorials/) - [测试脚本案例库](https://github.com/postmanlabs/postman-collection-examples) > 提示:在"Tests"标签页直接编写脚本,点击"Send"后测试结果将在"Test Results"面板显示[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值