我正在尝试在jenkins中运行在本地可运行的方案,但它抱怨找不到文件。如果我使用karate.write函数,默认情况下jenkins在哪里创建文件?
尝试通过以下方式读取文件:
默认机会ID =读取('file:target / OpportunityID.txt')
这在本地有效,但是在运行jenkins时不喜欢它,并抱怨找不到文件。
//用于执行karate.write的代码
- def txtFileName ='OpportunityID.txt'
- def值=函数writeOpportunityIDToFile(value,textFileName){var time = java.lang.System.currentTimeMillis(); karate.write(value,textFileName); karate.log('将机会ID保存为:',textFileName); }
- 致电writeOpportunityIDToFile(opportunityID,txtFileName);
在jenkins中运行时的错误消息:
“ opportunityApi_scenario002_run001_IT.feature:11-找不到或 读取文件:file:target / OpportunityID.txt“
答案 0 :(得分:1)
在不了解您的Jenkins环境的情况下很难诊断。另外,可能存在权限问题,因此文件创建可能受到限制。在0.9.4中,我们从karate.write()
方法返回了一个java.io.File
对象,因此您可以尝试打印该对象。
但是,请请阅读此内容,因为99%的时间-您永远都不应在空手道中写入文件:https://stackoverflow.com/a/54593057/143475