在调用之前获取 API 响应中的元素计数?

问题描述 投票:0回答:1

我想检查在进行实际调用之前是否有任何方法可以知道 Postman 的 GET 请求调用的响应将返回的元素数量?

我尝试寻找方法但没有得到任何解决方案。请帮忙。

postman
1个回答
0
投票

response
调用之前,您无法获取
request
数组的项目计数。

但是您可以在主

request
之前在
Pre-test Script
处获得计数。

Pre-requst Script
选项卡中

pm.sendRequest({
    url: 'your URL for getting count',
    method: 'GET',
    header: 'Content-Type: application/json'
}, function (err, res) {
    if (err) {
        console.log(err);
    } else {
        pm.test("Status code is 200", () => {
            pm.expect(res).to.have.status(200);
        });
        const responseJson = res.json();
        console.log(responseJson.length);
        pm.environment.set("ItemCount", responseJson.length);
    }
});

演示

我会数数组

GET https://freetestapi.com/api/v1/animals

item count
是 50。

主要请求URL

GET https://catfact.ninja/facts?page=1

Pre-request Script
选项卡

pm.sendRequest({
    url: 'https://freetestapi.com/api/v1/animals',
    method: 'GET',
    header: 'Content-Type: application/json'
}, function (err, res) {
    if (err) {
        console.log(err);
    } else {
        pm.test("Status code is 200", () => {
            pm.expect(res).to.have.status(200);
        });
        const responseJson = res.json();
        console.log(responseJson.length);
        pm.environment.set("ItemCount", responseJson.length);
    }
});

Tests
选项卡

const responseJson = pm.response.json();

let CurrentPage = responseJson.current_page;
console.log("current_page:" + CurrentPage);

结果

获取计数
https://freetestapi.com/api/v1/animals

Pre-request Script
,将50保存到
ItemCount
环境变量中。

在主请求 GET 调用之前。

https://catfact.ninja/facts?page=1

© www.soinside.com 2019 - 2024. All rights reserved.