External library in Postman

2019-04-08 05:58发布

问题:

I want to use linq.js for my assertions. Is there a way to include an external library in Postman?

回答1:

No, linq.js, or any library not available in the Postman Sandbox cannot be used in Postman (by default, there is a workaround).

EDIT

Actually, if you fetch a script in a request and eval it, you can use it in Postman. An example is given in this blog post - http://blog.getpostman.com/2015/09/29/writing-a-behaviour-driven-api-testing-environment-within-postman/



回答2:

There's an open feature for that in Postman's bugtracker since 2015: Loading External JS Files #1180 but it doesn't seem they're actively working on it.

Meanwhile I'm using a workaround mentioned in one of the comments by putting a minimized custom JS in a global variable and loading it in the beginning of each script where I'm using this code:

eval(postman.getGlobalVariable("environment variable key"));


回答3:

I am doing pretty much the same than @grinderX19.

I run this once to load my global variable:

postman.setGlobalVariable("myUtils", function myUtils() {
let utils = {};

utils.function1= function function1(Arg1, Arg2){
    <code>
};

utils.function2= function function2(Arg1, Arg2){
    <code>
};

return utils;
} + '; myUtils();'
);

Then, I am calling it like this in Postman requests:

//import the global variable
let utils = eval(globals.myUtils);

//Call a function contained by this global variable
var var1 = utils.function1(arg1, arg2);

Hope this helps.