【问题标题】:Jenkins error sh: 0: Can't open label:/ sh: 0: Can't open script: when trying to execute SOAPUI commandlineJenkins错误sh:0:无法打开标签:/ sh:0:无法打开脚本:尝试执行SOAPUI命令行时
【发布时间】:2019-12-04 08:01:36
【问题描述】:

我正在尝试通过 Jenkins 中的命令行运行 SoapUI TestRunner。这是 SoapUI TestRunner 命令行:

"/home/able/readyapi/installation/bin/testrunner.sh" -spayments-chain -r -a -j -f${WORKSPACE} "-RJUnit-Style HTML Report" -FXML -Enn-0716 "-TTestCase jenkins_test" /home/able/jenkins/workspace/REGRESSION_0716/test_automation

我在 Jenkins 的管道语法中生成了一个 shell 脚本,导致这个 shell 脚本:

sh script: '"/home/able/readyapi/installation/bin/testrunner.sh" -spayments-chain -r -a -j -f${WORKSPACE} "-RJUnit-Style HTML Report" -FXML -Enn-0716 "-TTestCase jenkins_test" /home/able/jenkins/workspace/REGRESSION_0716/test_automation'

这让我得到以下错误:

sh: 0: Can't open script:

谁能告诉我这些信息我做错了什么?如果您需要更多信息,请告诉我。我对linux和shell不是很熟悉。

【问题讨论】:

    标签: linux shell jenkins soapui ready-api


    【解决方案1】:

    语法应该很简单

    sh '"/home/able/readyapi/installation/bin/testrunner.sh" -spayments-chain -r -a -j -f${WORKSPACE} "-RJUnit-Style HTML Report" -FXML -Enn-0716 "-TTestCase jenkins_test" /home/able/jenkins/workspace/REGRESSION_0716/test_automation'
    

    所以它实际上是在告诉你 script: 不应该在那里。

    围绕第一个参数的引用非常疯狂,但并非不正确。它相当于更地道的

    sh '/home/able/readyapi/installation/bin/testrunner.sh -spayments-chain -r -a -j -f"${WORKSPACE}" "-RJUnit-Style HTML Report" -FXML -Enn-0716 "-TTestCase jenkins_test" /home/able/jenkins/workspace/REGRESSION_0716/test_automation'
    

    您会注意到我在 -f${WORKSPACE} 周围添加了引号,并在脚本名称周围删除了它们。 "-RJUnit-Style HTML Report" 周围的引用看起来也令人困惑,但如果它对你有用,我想它们是正确的。 (也许它应该是-RJunit-Style "HTML Report"?还是-R"Junit-Style HTML Report"?同样适用于稍后的-T选项。)

    【讨论】:

    • 您好,三胞胎,感谢您的意见。使用后 sh '/home/able/readyapi/installation/bin/testrunner.sh -spayments-chain -r -a -j -f"${WORKSPACE}" "-RJUnit-Style HTML Report" -FXML -Enn-0716 “-TTestCase jenkins_test”/home/able/jenkins/workspace/REGRESSION_0716/test_automation' 我现在收到“sh:0:无法打开”消息。我认为“-RJUnit-Style HTML Report”是正确的,因为我从 SoapUI 复制了它。您可能还有其他建议吗?
    • 只是sh: 0: Can't open 之后什么都没有?无论如何可能会显示整个pipeline { ... }(我建议您编辑您的问题以更新它,或者提出一个新问题)。
    最近更新 更多