【问题标题】:How to seed the request body directly from the pre request script on postman如何直接从邮递员的预请求脚本中播种请求正文
【发布时间】:2018-04-25 14:47:42
【问题描述】:

我创建了 JSON 对象 (movieData) 并将其保存为全局变量(我所有的测试用例)。 我想从 pre-request 脚本中获取部分数据(每次单例)并将其发送到 request body

const movieData = {
   env: "testing",
   domain: "",
   tests: {
     test1: { 

       body: {
         movie_id: 568,
         title: "wonder-woman",
         description: "bla bla bla",
       }
       .... 
     },
     test2: { 

       body: {
         movie_id: 232,
         title: "spider-man",
         description: "bla bla bla",
       }
       .... 
     },
     test3: { 

       body: {
         movie_id: 212,
         title: "just-woman",
         description: "bla bla bla",
       }
       .... 
     },
     test4: { 

       body: {
         movie_id: 534,
         title: "just-man",
         description: "bla bla bla",
       }
       .... 
     }

   }
}

预请求:

var movies = JSON.parse(pm.globals.get('movieData')); const test = movies.tests.test1.body; pm.globals.set('test', test);

正文:

"{{test}}"

有人帮忙怎么做吗?

【问题讨论】:

  • 所以我明白了...您想在全局中设置项目并稍后在任何地方使用它...我是正确的彼得吗??
  • aha ...我看到了.. 预请求脚本实际上并没有获得动态变量...所以通过 console.log( Pre-request Script 中的 pm.request.body); 是错误的.. 这个控制台应该在 Tests..... 所以你的身体实际上正在工作...我想知道您是否收到了响应或出现了一些错误

标签: api request postman


【解决方案1】:

预请求脚本

var jsonData = {
  "method": "test",
  "params": {
    "token": "hello"
  },
  "moreData": "2.0"
};


pm.globals.set("myreqbody", JSON.stringify(jsonData));

身体

{{myreqbody}}

【讨论】:

    【解决方案2】:

    这比你想象的要容易...... " " 将添加到动态添加技巧

    按照文档..动态变量是

    这是我的电子邮件正文..

    {
        "email": "{{email}}",   //notice the " " quotes
        "password": "cityslicka"
    }
    

    我正在动态更改预请求脚本中的 {{email}} 和 {{target}} ...

    注意{{target}} 在 URL 中 没有 引号,其中 "{{email}}" 在身体里并且有他们 " "

    【讨论】:

    • 嗨 Raja,感谢您的回答,但这不是我想要得到的。我已经从全局变量中获取数据,但是 我正在尝试从预请求脚本窗口设置正文请求
    • 好的,再次阅读......我认为你打算点击一个 url..其正文来自预定义的 json 列表......这应该经过一个迭代。 ..我现在有点近了吗??
    • 是的,但现在我只是试图为单个测试用例解决它,但是当我是 console.log(test) 时,我得到了数据但是,我无法将其视为我的请求正文的一部分
    • 啊……我想我知道某种安排……让我告诉你……以防你喜欢它
    • 啊哈哈就是这样...我想你错过了他们的“报价”
    猜你喜欢
    • 2020-03-11
    • 1970-01-01
    • 2018-08-20
    • 2015-10-26
    • 2022-06-12
    • 1970-01-01
    • 2020-12-13
    • 2020-03-21
    • 2017-06-17
    相关资源
    最近更新 更多