用Jenkins进行硒测试

时间:2016-07-05 08:24:54

标签: linux selenium svn jenkins automated-tests

我一直在尝试使用浏览器启动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命令一无所知,但我找不到任何运行此程序的命令。

1 个答案:

答案 0 :(得分:3)

您正在尝试在Linux上运行Windows批处理脚本,因此出错。

两种选择: 1.将构建脚本转换为shell并使用“execute shell”在jenkins中调用shell脚本 2.添加一个windows slave,它将构建您的Windows批处理脚本