1 回答
TA贡献1875条经验 获得超5个赞
是的,这对于独立 JAR 来说更困难。以下是一些建议:
编写一个小 JAR 文件(一次性),您可以将其包含在独立项目中
karate.exec()
通过例如在 Windows 上使用操作系统命令* def homePath = karate.exec('cmd /c echo %HOMEPATH%')
经过一些工作,您可以创建使用 JVM 库的纯 JS 脚本,但是您需要很好地了解 Java 中存在的内容,并且这些脚本很难调试,因此我不推荐这种方法。我在下面举一个例子:
* def findFile =
"""
function(file, condition) {
var root = new java.io.File(file);
function recurse(file) {
var list = file.listFiles();
for (var i = 0; i < list.length; i++) {
var f = list[i];
if (f.directory) {
// karate.log('recurse:', f);
return recurse(f);
} else {
var path = f.path;
// karate.log('scan:', path);
if (condition(path)) {
karate.log('*** found:', path);
return f;
}
}
}
}
return recurse(root);
}
"""
* def filter = function(x){ return x.contains('/test-') && x.endsWith('.log') }
* def found = findFile('.', filter)
* print 'found:', found
添加回答
举报