使用 karate.fork() 执行多个 linux 命令
Executing multiple linux commands using karate.fork()
是否可以使用 karate.fork() 添加多个命令?我尝试使用添加命令;或 && 分离,但第二个命令似乎没有被执行。
我试图在 shell 脚本上执行 bash 之前先 cd 到特定目录。
* def command =
"""
function(line) {
var proc = karate.fork({ redirectErrorStream: false, useShell: true, line: line });
proc.waitSync();
karate.set('sysOut', proc.sysOut);
karate.set('sysErr', proc.sysErr);
karate.set('exitCode', proc.exitCode);
}
"""
* call command('cd ../testDirectory ; bash example.sh')
请注意,支持命令行参数数组而不是 line
- args
,因此也请尝试 - 例如类似于:
karate.fork({ args: ['cd', 'foo;', 'bash', 'example.sh'] })
但是是的,这可能需要一些调查。您始终可以尝试将所有命令放在一个应该有效的批处理文件中。
如果您能试用 1.0 RC 就更好了,因为可能已经添加了一些改进:https://github.com/intuit/karate/wiki/1.0-upgrade-guide
是否可以使用 karate.fork() 添加多个命令?我尝试使用添加命令;或 && 分离,但第二个命令似乎没有被执行。
我试图在 shell 脚本上执行 bash 之前先 cd 到特定目录。
* def command =
"""
function(line) {
var proc = karate.fork({ redirectErrorStream: false, useShell: true, line: line });
proc.waitSync();
karate.set('sysOut', proc.sysOut);
karate.set('sysErr', proc.sysErr);
karate.set('exitCode', proc.exitCode);
}
"""
* call command('cd ../testDirectory ; bash example.sh')
请注意,支持命令行参数数组而不是 line
- args
,因此也请尝试 - 例如类似于:
karate.fork({ args: ['cd', 'foo;', 'bash', 'example.sh'] })
但是是的,这可能需要一些调查。您始终可以尝试将所有命令放在一个应该有效的批处理文件中。
如果您能试用 1.0 RC 就更好了,因为可能已经添加了一些改进:https://github.com/intuit/karate/wiki/1.0-upgrade-guide