Maximo 中 Automation Script 之间调用的

2025-01-18  本文已影响0人  kongxx

Maximo 中 Automation Script 之间调用可以通过下面几种方式实现

invokeScript(script_name: String, context: Map<String, String>): void
invokeScript(script_name: String): Map<String, Object>
invokeScript(script_name: String, function_name: String, function_arguments: Object[]): Object

方法一

MYLIB

库脚本中定义两个函数,并且在库函数内根据传递的参数调用库函数

function func1() {
    return 'hello world';
}

function func2(name) {
    return 'hello ' + name;
}

func1();
func2(name);

MYTEST

调用脚本使用 invokeScript 方法调用库脚本,并通过一个Map传递参数

load('nashorn:mozilla_compat.js');
importPackage(Packages.java.util);

var ctx = new HashMap();
ctx.put("name", "world");
service.invokeScript("MYLIB", ctx);

方法二

MYLIB

库脚本中定义两个函数

function func1() {
    return 'hello world';
}

function func2(name) {
    return 'hello ' + name;
}

MYTEST

调用脚步使用 invokeScript 方法导入库脚本,然后使用方法调用的方式调用库函数

var mylib = service.invokeScript('MYLIB');
mylib.func1();
mylib.func2('world');

方法三

MYLIB

库函数中只是声明了函数,没有调用,也没有导出。但是 在创建 Automation Script 的时候需要选中 “Allow Invoking Script Functions” 选项。

function func1() {
    return 'hello world';
}

function func2(name) {
    return 'hello ' + name;
}

MYTEST

调用脚步通过 invokeScript 方法调用库脚本,然后通过传递函数名和参数的方式调用库函数

service.invokeScript('MYLIB', 'func1', []);
service.invokeScript('MYLIB', 'func2', ['world']);
上一篇 下一篇

猜你喜欢

热点阅读