当前位置: 首页 > 知识库问答 >
问题:

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

周麒
2023-03-14

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

>

  • 某些测试标题:

    >

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

    • 发送一些创建用户所需的请求,这些请求是运行测试所必需的

    对已创建用户的一些操作(这里我正在测试测试标题中的内容)

    • 一个或多个请求
      < li >创建用户(一组“预先请求”,与测试1中相同。): < ul > < li >发送创建用户、运行测试所需的一些请求
    • 一个或多个请求

    总的来说,当我想测试一些东西时,我需要在每个请求之前创建一个用户。

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

  • 共有2个答案

    戴高远
    2023-03-14

    如果我理解正确,你想要什么很遗憾目前不受支持。我自己已经等待了一段时间的这个功能。

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

    孔山
    2023-03-14

    这就是您如何通过设置环境变量并使用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函数,它可能会使您的代码或其执行失败。

     类似资料:
    • 我正在尝试发送一个经过身份验证的请求,只需点击邮递员。 所以,我有一个名为“Oauth”的请求,我正在使用测试将令牌存储在局部变量中。 我现在要做的是,对于需要承载令牌的任何其他请求,自动运行Oauth请求(从预请求脚本)。 有没有一种方法可以通过单击邮递员按钮来获取访问令牌并发送经过身份验证的请求?

    • 我正在用Application/JSON数据发送原始POST请求到邮递员服务器。我需要使用这个JSON对象,并在请求前脚本中追加一些数据。但是我只能找到如何访问环境变量,而不能请求主体。有人知道吗?谢了!

    • 我必须使用以下WSDL执行SOAP请求验证: http://www.oorsprong.org/websamples.countryinfo/CountryInfoService.wso?WSDL 我必须在Postman中为[string]参数化以下post请求。 你能告诉我如何进行参数化吗? 邮寄请求

    • 我正在创建REST API(Symfony 4,FOS REST捆绑包),为了测试,我正在使用Postman应用程序。问题是,在登录请求时,我获得了JWT令牌,之后,在每个其他请求中,我都必须将其作为授权标头的一部分作为承载令牌传递回去。由于每次登录时该令牌都会发生变化,因此每次登录后(当令牌过期时),我都必须手动复制/粘贴令牌值。 这能以某种方式避免并自动完成吗?

    • 我向我的flask应用所在的服务器发出了python post请求。它运行良好,我能够获得所需的数据。 但我想用POSTMAN测试API。我无法做到这一点,因为在某种程度上我对邮递员并不熟悉。 下面是我的python代码。 我正在努力解决这样一个问题:我试图发布到服务器上的数据和文件应该是原始json还是表单数据,或者是正文的x-www-form-urlencoded部分。还有实际的结构应该是什么

    • 我尽力描述我的处境。我的wicket站点包含list wicket组件,其中每个列表元素都有另一个列表。最低级别列表中的每个元素都有下载某个文件的ajax wicket链接。这一切都很好。我习惯了这种懒散的行为。此行为的方法startDownload在link onClick方法中调用。