postman.setNextRequest无法调用

我有一组测试,我试图将它们设置为按特定顺序运行。使用if / else if语句确定顺序,该语句检查数据文件中的变量并根据其值设置下一个请求。

这对于我的收藏集中的初始请求非常有效。但是,当序列后面的某个请求到达请求时,if语句将识别正确的变量,但跳过postman.setNextRequest()命令并以收集顺序运行在其下面的测试,而不是运行指定的测试。

有人知道为什么会这样吗?似乎是postman.setNextRequest()函数的错误。

请求功能可以按预期运行的地方:

var rsp = pm.response.json();
var base = pm.environment.get('baseUrl');
pm.environment.set('id',data['appName']);
var id = pm.environment.get('id');

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

    pm.test("Response contains correct BaseUrl",function(){
            var issuer = rsp.issuer;
            pm.expect(issuer).to.contain(base);
            //console.log(resname);
            console.log('Passed - on to the next one!')
    });
});

if (id === 'Application/Member_PRODUCTION'||id === 'Application/B2C_PRODUCTION'||id === 'Application/Claims Transformation_PRODUCTION'){
    postman.setNextRequest('PKCE Step 1- Generate PKCE Challenge and Verifier');
}
else if (id === 'Application/sysTest_SysTest2_PRODUCTION'){
    postman.setNextRequest("oAuth Step 1 - Unauthorised API call");
}
else{
    postman.setNextRequest("oAuth Step 2- Get Session Data Key");
}

功能无法正常工作的下一个请求:

let cookieJar = pm.cookies.jar();

cookieJar.clear(pm.environment.get('baseUrl'));
var id = pm.environment.get('id');
console.log('oAuth check complete for application: '+ id);


pm.test("Status code is 302",function () {
    pm.response.to.have.status(302);
    console.log('Passed - on to the next one!')
});

if (id === 'Application/Member_PRODUCTION'){
    console.log('Next Up - SCIM Tests')
    postman.setNextRequest("SCIM Step 1 - Create Member");
}
else{
    console.log('Next Up - Login Page Test')
    postman.setNextRequest("Login Page Step 1- Get Session data key");
}

请求名称是直接从请求本身复制而来的,所以我不认为它找不到指定的下一个请求,并且上面两个摘录中的用法似乎都相同,所以我有些困惑。

qqqwwweebao 回答:postman.setNextRequest无法调用

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2758974.html

大家都在问