以前的文章介绍了 Automation Script 的使用,以及 Automation Script 之间如何调用。今天换一种方法看看怎样在 Automation Script 中导出和使用函数和对象。
函数导出与调用
创建 Automation Script 库 MYLIB,内容如下:
function func1() {
return 'hello world';
}
function func2(name) {
return 'hello ' + name;
}
var module = module;
if (!module) module = {};
module.exports = {
func1: func1,
func2: func2,
};
上面 Automation Script库中定义了两个函数 func1 和 func2,以及一个模块 module,其中 module.exports 对象中导出了 func1 和 func2 两个函数。
下面是 MYLIB 库的测试代码 MYTEST,代码首先调用 MYLIB 库,然后调用 MYLIB 库中导出的函数 func1 和 func2。
var mylib = service.invokeScript('MYLIB');
var message1 = mylib.func1();
var message2 = mylib.func2('world');
responseBody = JSON.stringify({
message1: message1,
message2: message2,
});
对象导出与调用
创建 Automation Script 库 MYLIB,内容如下:
function User(name, password) {
this.name = name;
this.password = password;
}
User.prototype.sayHello = function() {
return "Hello, my name is " + this.name;
};
var module = module;
if (!module) module = {};
module.exports = {
User: User,
};
上面 Automation Script库中定义了一个 User 对象,以及一个模块 module,其中 module.exports 对象中导出了 User 对象。
下面是 MYLIB 库的测试代码 MYTEST,代码首先调用 MYLIB 库,然后调用 MYLIB 库中导出的对象。
var mylib = service.invokeScript('MYLIB');
var user = new mylib.User('kongxx', 'nopassword');
var message = user.sayHello();
responseBody = JSON.stringify({
message: message,
});