gpt4 book ai didi

java - 如何通过 Jenkins 中的 Shell 脚本运行 TestNG.xml?

转载 作者:太空宇宙 更新时间:2023-11-04 10:49:18 25 4
gpt4 key购买 nike

第一步:我使用下面提到的命令创建了一个 BAT 文件并尝试运行它 > 它确实成功运行了 TestNG Suite 以及我配置的所有测试。

下一步:是设置 Jenkins,我尝试使用添加build设置 > 执行 Windows bat 命令 > 运行 bat 文件 >

cd /d %~dp0

set classpath=bin;lib\*;lib\selenium\*;lib\POI\*;bin\com\healthcare\*;bin\com\healthcare\reports\*;

java org.testng.TestNG Smoke_OrderIDCards.xml

还有

run Smoke.bat 其中包含上述所有命令

还有

call %WORKSPACE%\smoke.bat

还有

run %WORKSPACE%\smoke.bat

它不断在 Jenkins 控制台中抛出错误:

[Purchaser] $ cmd /c call /proj/jenkins/tmp/jenkins9142107435735320094.bat
FATAL: command execution failed
java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
Caused: java.io.IOException: Cannot run program "cmd" (in directory "/proj/jenkins/workspace/Purchaser"): error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at hudson.Proc$LocalProc.<init>(Proc.java:245)
at hudson.Proc$LocalProc.<init>(Proc.java:214)
at hudson.Launcher$LocalLauncher.launch(Launcher.java:850)
at hudson.Launcher$ProcStarter.start(Launcher.java:384)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:109)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:66)
at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:735)
at hudson.model.Build$BuildExecution.build(Build.java:206)
at hudson.model.Build$BuildExecution.doRun(Build.java:163)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:490)
at hudson.model.Run.execute(Run.java:1735)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:405)
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE

但我想如果它运行的服务器不是Windows,并尝试通过添加构建步骤>执行Shell运行示例命令

使用命令 echo $WORKSPACE ,结果成功。我尝试到处查找,以找出如何通过 shell 脚本执行相同操作,但未能成功。

现在我需要知道如何通过 shell 命令运行上面提到的相同命令(设置类路径并运行 TestNG.xml 文件)。有人可以帮我解决这个问题吗?

最佳答案

调用 %WORKSPACE%\my_test.bat 会导致 C:\Tools\Jenkins\workspace\my_test\my_test.bat,在我的情况下,找不到该文件。我的文件位于名为 c:\src\bat 的文件夹中。

这对我有用:

c:\src\bat\my_test.bat

这就是我在 Jenkins 中的设置方式:

enter image description here

关于java - 如何通过 Jenkins 中的 Shell 脚本运行 TestNG.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48011959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com