我一直在尝试使用浏览器启动selenium
测试,而不是无头测试。我的代码位于SVN
,这应该由Jenkins
构建。 Jenkins
位于Linux
。
有没有人试过这个或者你知道我应该采取什么步骤?我正在浏览互联网上提供的教程,但它们都不适合我。
我当前的错误是:
java.io.IOException:无法运行程序" cmd" (在目录中 " / var / lib / jenkins / jobs / Tests / workspace"):error = 2,没有这样的文件或 java.lang.ProcessBuilder.start目录(ProcessBuilder.java:1047) 在hudson.Proc $ LocalProc。(Proc.java:240)at hudson.Proc $ LocalProc。(Proc.java:212)at hudson.Launcher $ LocalLauncher.launch(Launcher.java:815)at hudson.Launcher $ ProcStarter.start(Launcher.java:381)at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:95) 在 hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:64) 在hudson.tasks.BuildStepMonitor $ 1.perform(BuildStepMonitor.java:20) 在 hudson.model.AbstractBuild $ AbstractBuildExecution.perform(AbstractBuild.java:779) 在hudson.model.Build $ BuildExecution.build(Build.java:205)at hudson.model.Build $ BuildExecution.doRun(Build.java:162)at hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:534) 在hudson.model.Run.execute(Run.java:1720)at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)at at hudson.model.ResourceController.execute(ResourceController.java:98) 在hudson.model.Executor.run(Executor.java:410)引起: java.io.IOException:error = 2,没有这样的文件或目录 java.lang.UNIXProcess.forkAndExec(Native Method)at java.lang.UNIXProcess。(UNIXProcess.java:187)at java.lang.ProcessImpl.start(ProcessImpl.java:130)at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)...还有15个 构建步骤'执行Windows批处理命令'标记为失败 完成:失败
构建时没有错误,工作区仅更新:
Building in workspace /var/lib/jenkins/jobs/Tests/workspace
Updating http://XX.XX.XXX.XX/resp/extend/Tests/EO at revision '2016-07-04T14:34:05.110 +0200'
At revision 5536
No changes for http://XX.XX.XXX.XX/resp/extend/Tests/EO since the previous build
Finished: SUCCESS
如果您需要任何进一步的细节,请告诉我......
更新:
[workspace] $ /bin/sh -xe /tmp/hudson8771943326851387647.sh
+ ./script.sh
/tmp/hudson8771943326851387647.sh: line 2: ./script.sh: Permission denied
Build step 'Execute shell' marked build as failure
Finished: FAILURE
我已将windows命令更改为shell命令。 shell命令是:
./script.sh
我认为文件里面的脚本我错了,但我现在的错误是否意味着脚本错误或是否反映了其他内容?我不知道我们有没有"许可被拒绝" - 我在jenkins中拥有所有权利。
这是我的script.sh文件内容:
#!/bin/bash
function run_test {
echo "=== run Selenium tests in Jenkins ==="
ssh root@$1 "/src/test/java/mainTest/MainOrderTest start"
}
fi
我对shell命令一无所知,但我找不到任何运行此程序的命令。
答案 0 :(得分:3)
您正在尝试在Linux上运行Windows批处理脚本,因此出错。
两种选择: 1.将构建脚本转换为shell并使用“execute shell”在jenkins中调用shell脚本 2.添加一个windows slave,它将构建您的Windows批处理脚本