【发布时间】:2016-11-07 00:05:40
【问题描述】:
我一直在尝试用浏览器开始selenium 测试,而不是无头的。我在SVN 中有我的代码,这应该由Jenkins 构建。 Jenkins 在 Linux 上。
有没有人尝试过,或者你知道我应该采取什么步骤吗?我正在浏览互联网上提供的教程,但它们都不适合我。
我目前的错误是:
java.io.IOException:无法运行程序“cmd”(在目录中 “/var/lib/jenkins/jobs/Tests/workspace”):错误=2,没有这样的文件或 java.lang.ProcessBuilder.start(ProcessBuilder.java:1047) 的目录 在 hudson.Proc$LocalProc.(Proc.java:240) 在 hudson.Proc$LocalProc.(Proc.java:212) 在 hudson.Launcher$LocalLauncher.launch(Launcher.java:815) 在 hudson.Launcher$ProcStarter.start(Launcher.java:381) 在 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) 在 hudson.model.Build$BuildExecution.doRun(Build.java:162) 在 hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534) 在 hudson.model.Run.execute(Run.java:1720) 在 hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43) 在 hudson.model.ResourceController.execute(ResourceController.java:98) 在 hudson.model.Executor.run(Executor.java:410) 引起: java.io.IOException: error=2, No such file or directory at java.lang.UNIXProcess.forkAndExec(本机方法)在 java.lang.UNIXProcess.(UNIXProcess.java:187) 在 java.lang.ProcessImpl.start(ProcessImpl.java:130) 在 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
我认为文件中的脚本我错了,但我现在遇到的错误是否意味着脚本错误或者它反映了其他东西?我不知道为什么我们有“权限被拒绝” - 我在詹金斯拥有所有权利。
这是我的 script.sh 文件内容:
#!/bin/bash
function run_test {
echo "=== run Selenium tests in Jenkins ==="
ssh root@$1 "/src/test/java/mainTest/MainOrderTest start"
}
fi
我对 shell 命令一无所知,也没有找到任何可以运行该程序的命令。
【问题讨论】:
-
要在 jenkins 上运行,可能需要使用 HTMl 单元驱动程序或 phantom js 进行无头测试。
-
@AutoMater 这绝对不是真的。如果客户操作系统也没有无头运行,Jenkins 可以很好地运行非无头浏览器。
标签: linux selenium svn jenkins automated-tests