Postman编写测试脚本入门(一)

1、判断接口请求返回的状态码是否为200,两种实现方法

(1)使用.test函数判断

脚本如下:

pm.test("状态码为200",function(){

pm.response.to.have.status(200);

});

运行结果如下:

(2)使用.expect

脚本如下:

       pm.test("",function(){

      var  jsonData=pm.response.json();

      pm.expect(jsonData.code).to.eql(200);

      });

运行结果如下:


2、使用多个断言,如果任何包含的断言失败,则整个测试将失败。即每个语句验证之间是且的关系

脚本如下:

      pm.test("张三信息查询无误",function(){

     const   jsonData=pm.response.json();

     pm.expect(jsonData.type).to.eql('vip');

     pm.expect(jsonData.name).to.include('张三');

     pm.expect(jsonData.responseTime).to.be.below(200);

      });

运行结果如下:


3、解析不同类型的响应主体数据

脚本如下:

      const jsonData=pm.response.json;//解析json格式数据

      const jsonData=xml12Json(pm.response.text());//解析xml格式数据

      const parse=require('csv-parse/lib/syns');

     const jsonData=parse(pm.response.text()); //解析CSV格式数据

     const $=cheerio.load(pm.response.text());

     console.log($.heml());  //解析HTML格式数据

4、处理为解析的响应

脚本如下:

      pm.test("包含字符串去旅行吧",function(){

     const jsonData=pm.response.json();

     pm.expect(jsonData.text()).to.include("去旅行吧");

     });//测试响应正文中是否包含字符串

5、对响应数据中的不同部分进行测试包含正文、状态码、标头、cookie,响应时间等

(1)检查正文中的特定值

pm.test("jane个人信息无误",function(){

const jsonData=pm.response.json();

pm.expect(jsonData.name).to.eql("Jane");

pm.expect(jsonData.age).to.eql("23");

});

(2)检查状态码

pm.test("状态码是200",function(){

const jsonData=pm.response.json();

jsonData.to.have.status(200);//检查状态码是否为200

pm.except(pm.response.code).to.be.oneOf([201,200]);//检查状态码为该数组中的任意一个

jsonData.to.have.status("created");//检查状态码文本

});

(3)检查是否存在响应头

pm.test("测试存在响应头",function(){

pm.response.to.have.header("Content-Type");

pm.expect(pm.response.headers.get('Content-Type')).to.eql('application/json');//检查响应头的值

});

运行结果如下:


(4)测试Cookie

pm.test("存在Cookies",function(){

const jsonData=pm.response.json();

pm.expect(pm.cookies.has('JSESSIONID')).to.be.true;

pm.expect(pm.cookies.get('isLoggedIn')).to.eql('1');//检查cookies的值

});

(8)测试响应时间是否在指定范围内

pm.test("响应时间少于200ms",function(){

const jsonData=pm.response.json();

pm.expect(jsonData.responseTime).to.be.below(200);

});

6、检查相应数据的数据类型

const jsonData=pm.response.json();

pm.test("当前字段数据类型正确",function(){

pm.expect(jsonData).to.be.an("object");//检查响应数据的格式是否为一个对象

pm.expect(jsonData.name).to.be.a("string");//检查是否为字符串类型

pm.expect(jsonData.age).to.be.a("number");//检查是否为数值类型

pm.expect(jsonData.hobbies).to.be.an("array");//检查是否为数组类型

pm.expect(jsonData.website).to.be.undefined;//检查是否未定义

pm.expect(jsonData.email).to.be.null;//检查值是否为null

});

运行结果如下:


你可能感兴趣的:(Postman编写测试脚本入门(一))