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

如何在Postman中的每个请求之前运行请求集,postman,postman-collection-runner,Postman,Postman Collection Runner,我正在用Postman编写测试,我有多个请求分组如下: 一些测试题: 创建用户(一组“预请求”): 发送创建用户所需的几个请求,这是运行测试所必需的 对已创建用户的一些操作(这里我正在测试测试标题中的内容) 一个或多个请求 另一个测试标题: 创建一个用户(一组“预请求”,与测试1中相同): 发送创建用户所需的几个请求,这是运行测试所必需的 对已创建用户的某些操作(与ot测试1无关。) 一个或多个请求 总结一下,当我想测试某些东西时,我需要在每次请求之前创建一个用户 我的问

我正在用Postman编写测试,我有多个请求分组如下:

  • 一些测试题:

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

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

      • 一个或多个请求
  • 另一个测试标题:
    • 创建一个用户(一组“预请求”,与测试1中相同):
      • 发送创建用户所需的几个请求,这是运行测试所必需的
    • 对已创建用户的某些操作(与ot测试1无关。)
      • 一个或多个请求
  • 总结一下,当我想测试某些东西时,我需要在每次请求之前创建一个用户


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

    这是如何在预测试用例中重用请求集,并通过设置环境变量进行测试,并使用eval函数调用它

    测试前案例-

    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函数,它可能会使代码或其执行失败。

    这就是如何在预测试用例中重用请求集,并通过设置环境变量进行测试,并使用Eval函数调用它

    测试前案例-

    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函数,它可能会使您的代码或其执行失败。

    如果我正确理解了您想要的功能,很遗憾,目前不支持该功能。我自己也在等这个功能有一段时间了


    如果我正确理解了您想要的内容,很遗憾目前不支持。我自己也在等这个功能有一段时间了


    此用户是否始终相同?我每次都必须创建一个新用户来测试流。是的,但用户对象是否始终相同?i、 e.相同的名称、id等。它是否需要为每个请求执行,还是仅在集合开始时执行?每次我使用不同的名称创建新用户时:user_name_prefix+递增的数字。必须在设置请求之前创建用户。e、 g.1)创建一个用户,2)添加一些权限此用户是否始终相同?我每次都必须创建一个新用户来测试流。是的,但用户对象是否始终相同?i、 e.相同的名称、id等。它是否需要为每个请求执行,还是仅在集合开始时执行?每次我使用不同的名称创建新用户时:user_name_prefix+递增的数字。必须在设置请求之前创建用户。e、 g.1)创建一个用户,2)为answear添加一些右键!我已经在使用eval()函数重用代码。我的假设是每个测试步骤有一个请求。有些请求有预请求脚本,所有请求都有在请求后执行的测试。所以它更复杂。我很想在收集运行程序中重用请求,但postman.setNextRequest()并不能解决我的问题。您现在已经完全改变了问题,请看问题,您没有提到您在评论中提到的任何内容,若您已经在使用eval函数,那个么您应该在问题中提到它本身,并且您以前并没有在collection runner中提到重用请求,也许您是对的。我的问题是如何使用预请求和请求后执行的测试重用整个请求。感谢answear!我已经在使用eval()函数重用代码。我的假设是每个测试步骤有一个请求。有些请求有预请求脚本,所有请求都有在请求后执行的测试。所以它更复杂。我很想在收集运行程序中重用请求,但postman.setNextRequest()并不能解决我的问题。您现在已经完全改变了问题,请看问题,您没有提到您在评论中提到的任何内容,若您已经在使用eval函数,那个么您应该在问题中提到它本身,并且您以前并没有在collection runner中提到重用请求,也许您是对的。我的问题是如何使用预请求和请求后执行的测试重用整个请求。