如何在Postman中的每个请求之前运行请求集

时间:2019-07-15 11:19:52

标签: postman postman-collection-runner

我正在用邮递员(Postman)编写测试,并且我将多个请求分组如下:

  1. 一些测试标题:

    • 创建用户(一组“预请求”):

      • 发送一些创建用户所需的请求,这些请求是运行测试所必需的
    • 对已创建用户的一些操作(这里我正在测试测试标题中的内容)

      • 一个或多个请求
  2. 另一个测试标题:
    • 创建一个用户(一组“预请求”,与测试1中的相同):
      • 发送一些创建用户所需的请求,这些请求是运行测试所必需的
    • 对已创建用户的某些操作(与测试1不相关)。
      • 一个或多个请求

总而言之,当我要测试某些东西时,我需要在每个请求之前创建一个用户。

我的问题-如何在不复制的情况下重复使用“创建用户”请求集?

2 个答案:

答案 0 :(得分:0)

这是通过设置环境变量并使用eval函数调用它来重用pre-testcases和Test中的请求集的方式

预测试用例-

var Create_a_user = () => {
pm.sendRequest("http://mocktarget.apigee.net/json", function(err, res) {

    tests["Status code is 200"] = pm.expect(res).to.have.property('code', 200);
    console.log('firstName',res.json().firstName);      
});

pm.sendRequest("http://mocktarget.apigee.net/json", function(err, res) {

    tests["Status code is 200"] = pm.expect(res).to.have.property('code', 200);
    console.log("lastName - "+ res.json().lastName);
});

pm.sendRequest("http://mocktarget.apigee.net/json", function(err, res) {

    tests["Status code is 200"] = res.code === 200;
    console.log("city - "+ res.json().lastName.city);
});
};

pm.environment.set("Create_a_user", Create_a_user.toString());

测试-

eval(pm.environment.get("Create_a_user"))();

输出-

firstName - John

lastName - Doe

city - San Jose

免责声明- 仔细使用Eval函数,它可能会使您的代码或代码执行失败。

答案 1 :(得分:0)

不幸的是,如果我正确理解您想要的内容,当前不支持该功能。我已经等了一段时间了。

https://github.com/postmanlabs/postman-app-support/issues/1535