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);
});