1 回答

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個贊
是的,這對于獨(dú)立 JAR 來說更困難。以下是一些建議:
編寫一個小 JAR 文件(一次性),您可以將其包含在獨(dú)立項(xiàng)目中
karate.exec()
通過例如在 Windows 上使用操作系統(tǒng)命令* def homePath = karate.exec('cmd /c echo %HOMEPATH%')
經(jīng)過一些工作,您可以創(chuàng)建使用 JVM 庫的純 JS 腳本,但是您需要很好地了解 Java 中存在的內(nèi)容,并且這些腳本很難調(diào)試,因此我不推薦這種方法。我在下面舉一個例子:
* 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
添加回答
舉報(bào)