Postman 中的外部库
External library in Postman
我想使用 linq.js 作为我的断言。有没有办法在 Postman 中包含外部库?
否,linq.js
,或 Postman Sandbox 中不可用的任何库都不能在 Postman 中使用(默认情况下,有一个解决方法)。
编辑
实际上,如果您在请求中获取脚本并 eval
它,您可以在 Postman 中使用它。此博客中给出了一个示例 post - http://blog.getpostman.com/2015/09/29/writing-a-behaviour-driven-api-testing-environment-within-postman/
自 2015 年以来,在 Postman 的错误追踪器中有一个开放的功能:Loading External JS Files #1180但他们似乎并没有积极地致力于此。
与此同时,我正在使用 one of the comments 中提到的解决方法,将最小化的自定义 JS 放入全局变量并将其加载到我使用此代码的每个脚本的开头:
eval(postman.getGlobalVariable("environment variable key"));
我做的和@grinderX19 差不多。
我运行这一次加载我的全局变量:
postman.setGlobalVariable("myUtils", function myUtils() {
let utils = {};
utils.function1= function function1(Arg1, Arg2){
<code>
};
utils.function2= function function2(Arg1, Arg2){
<code>
};
return utils;
} + '; myUtils();'
);
然后,我在 Postman 请求中这样调用它:
//import the global variable
let utils = eval(globals.myUtils);
//Call a function contained by this global variable
var var1 = utils.function1(arg1, arg2);
希望对您有所帮助。
我在 https://postman-quick-reference-guide.readthedocs.io/en/latest/libraries.html#custom-libraries
找到了解决方案
pm.sendRequest("https://example.com/your-script.js", (error, response) => {
if (error || response.code !== 200) {
pm.expect.fail('Could not load external library');
}
eval(response.text());
// YOUR CODE HERE
});
示例使用 jalali-moment
:
pm.sendRequest("https://unpkg.com/jalali-moment/dist/jalali-moment.browser.js", (error, response) => {
if (error || response.code !== 200) {
pm.expect.fail('Could not load external library');
eval(response.text());
var currentTime=moment().locale('fa').format('YYYYMMDDHHmmss');
console.log(currentTime);
});
我想使用 linq.js 作为我的断言。有没有办法在 Postman 中包含外部库?
否,linq.js
,或 Postman Sandbox 中不可用的任何库都不能在 Postman 中使用(默认情况下,有一个解决方法)。
编辑
实际上,如果您在请求中获取脚本并 eval
它,您可以在 Postman 中使用它。此博客中给出了一个示例 post - http://blog.getpostman.com/2015/09/29/writing-a-behaviour-driven-api-testing-environment-within-postman/
自 2015 年以来,在 Postman 的错误追踪器中有一个开放的功能:Loading External JS Files #1180但他们似乎并没有积极地致力于此。
与此同时,我正在使用 one of the comments 中提到的解决方法,将最小化的自定义 JS 放入全局变量并将其加载到我使用此代码的每个脚本的开头:
eval(postman.getGlobalVariable("environment variable key"));
我做的和@grinderX19 差不多。
我运行这一次加载我的全局变量:
postman.setGlobalVariable("myUtils", function myUtils() {
let utils = {};
utils.function1= function function1(Arg1, Arg2){
<code>
};
utils.function2= function function2(Arg1, Arg2){
<code>
};
return utils;
} + '; myUtils();'
);
然后,我在 Postman 请求中这样调用它:
//import the global variable
let utils = eval(globals.myUtils);
//Call a function contained by this global variable
var var1 = utils.function1(arg1, arg2);
希望对您有所帮助。
我在 https://postman-quick-reference-guide.readthedocs.io/en/latest/libraries.html#custom-libraries
找到了解决方案pm.sendRequest("https://example.com/your-script.js", (error, response) => {
if (error || response.code !== 200) {
pm.expect.fail('Could not load external library');
}
eval(response.text());
// YOUR CODE HERE
});
示例使用 jalali-moment
:
pm.sendRequest("https://unpkg.com/jalali-moment/dist/jalali-moment.browser.js", (error, response) => {
if (error || response.code !== 200) {
pm.expect.fail('Could not load external library');
eval(response.text());
var currentTime=moment().locale('fa').format('YYYYMMDDHHmmss');
console.log(currentTime);
});