postman(二)批量执行&参数化

一、测试内容

1、功能描述

测试APP的登录注册流程
包括:①匿名用户创建→输入手机号(校验)→获取验证码→登录/注册
其中session、userId和userName等需要在第一个请求的结果中获取,以供后面的请求使用,也叫作参数化

2、接口介绍

①user.register(自动注册匿名用户)
②mobile.checkPhoneNumber(校验手机号,是够合规)
③mobile.getValidateCode(获取验证码)ps,这一步直接使用通用验证码
④user.register(手机号登录或者注册)
以上,Method都是Get

3、返回结果

①user.register(自动注册匿名用户)
image.png

②mobile.checkPhoneNumber
image.png

③mobile.getValidateCode(获取验证码)ps,这一步直接使用通用验证码
image.png

④user.register(手机号登录或者注册)
image.png

二、添加请求和断言

1、匿名注册一个用户信息
image.png
2、注册成功之后,服务端会返回session、userI和username等

这几个字段是下面几个接口中作为请求的参数,所以需要在第一个请求中设置参数,以便接下来使用
①在Tests中设置,代码如下

var jsonData = pm.response.json();

//打印接口中返回的session值和userId
console.log(jsonData.data.session);
console.log(jsonData.data.userId);
console.log(jsonData.data.username);

//设置全局变量session
pm.globals.set("session", jsonData.data.session);
pm.globals.set("userId",jsonData.data.userId);
pm.globals.set("userId",jsonData.data.username);

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

②点击“send”执行,发现右上角可以看到设置的全局变量和对应的值


image.png
3、下一个请求中,将直接使用设置的变量作为参数
image.png

再在Tests中写几个断言

//返回的状态码为200
pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

//返回的内容包含success
pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("success");
});

4、第三个获取验证码的接口和第二个相同

第四个登录、注册的接口,请求的参数中多了一个username


image.png

如果登录/注册成功,应该加一些断言进行判断

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});

pm.test("用户名是小卖", function () {
    var jsonData = pm.response.json();
    var hasRelated = jsonData.data.username;
    pm.expect(hasRelated).to.eql("小卖");
});

三、批量执行

{49D4FFC6-08CA-477C-BFF3-37E296DB62AC}_20200106185200.jpg
{5E5E57A9-642A-4AED-84CF-594FF3EB5DC4}_20200106185229.jpg

{7FC4B7C8-C731-422C-ABB9-D2BB40207407}_20200106185242.jpg

你可能感兴趣的:(postman(二)批量执行&参数化)