Selenium 为什么我的Jenkins/Ant构建总是失败?

Selenium 为什么我的Jenkins/Ant构建总是失败?,selenium,jenkins,ant,Selenium,Jenkins,Ant,我想让詹金斯明白。我有一套selenium测试,可以通过Eclipse构建和运行,也可以使用ant通过命令行构建和运行,但是每当我尝试Jenkins时,它们都会失败。 Jenkins的控制台报告在我的build.xml文件中定义的ws.jars的值不存在;然而,该目录确实存在!同样,从命令行构建也没有问题 如果您有任何建议,我将不胜感激,因为这几天我一直在努力解决这个问题 谢谢 My build.xml文件: <property environment="env"/> <pro

我想让詹金斯明白。我有一套selenium测试,可以通过Eclipse构建和运行,也可以使用ant通过命令行构建和运行,但是每当我尝试Jenkins时,它们都会失败。 Jenkins的控制台报告在我的build.xml文件中定义的ws.jars的值不存在;然而,该目录确实存在!同样,从命令行构建也没有问题

如果您有任何建议,我将不胜感激,因为这几天我一直在努力解决这个问题

谢谢

My build.xml文件:

<property environment="env"/>
<property name="ws.home" value="${basedir}"/>
<property name="ws.jars" value="/Users/username/Documents/All JAR Files/All in one place"/>
<property name="test.dest" value="${ws.home}/build"/>
<property name="test.src" value="${ws.home}/src"/>
<property name="ng.result" value="test-output"/>

我在build.xml文件中创建了一个名为path的新目标。这是我与Jenkins一起运行时的输出

Started by user anonymous
Building in workspace /Users/<user>/local_repo/qa-automation/selenium-java/my-projects
[my-projects] $ /Users/Shared/Jenkins/Home/tools/hudson.tasks.Ant_AntInstallation/Install_automatically/bin/ant path
Buildfile: /Users/<user>/local_repo/qa-automation/selenium-java/my-projects/build.xml
path:
 [echo] 
 [echo]                 My path - /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/usr/bin:/bin:/usr/sbin:/sbin
 [echo] 
BUILD SUCCESSFUL
Total time: 0 seconds
Finished: SUCCESS
由匿名用户启动
在工作区中构建/Users//local_repo/qa automation/selenium java/my projects
[我的项目]$/Users/Shared/Jenkins/Home/tools/hudson.tasks.Ant\u AntInstallation/Install\u automatically/bin/Ant path
Buildfile:/Users//local_repo/qa automation/selenium java/my projects/build.xml
路径:
[回声]
[echo]我的路径-/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home/bin:/usr/bin:/usr/sbin:/sbin
[回声]
建设成功
总时间:0秒
完成:成功

我怀疑这是由
ws.jars
路径中的空格造成的。您应该通过添加
\
来转义这些空格,请尝试更改路径:

<property name="ws.jars" value="/Users/username/Documents/All JAR Files/All in one place"/>

关于这一点:

<property name="ws.jars" value="/Users/username/Documents/All\ JAR\ Files/All\ in\ one\ place/"/>


谢谢大家的建议。我有一段时间没有考虑过这个问题,但昨晚我有一些时间,并且能够再次研究这个问题。正如“rgulia”所指出的,它与在非交互式shell中执行的Jenkins作业有关。因此,最后,我尝试将我的ws.jars目录复制到/Users/Shared/Jenkins,将所有者更改为“Jenkins”,然后,我的构建得以继续。
最初的错误信息是如此误导。并不是目录不存在,而是“jenkins”没有访问和/或权限。
我希望这些信息能帮助其他人

1)能否在build.xml中提供声明JAR的部分?您是否在windows/linux中运行?它可能是访问用户权限,请记住,通常jenkins安装程序将使用我在OS X中运行的jenkins用户。我尝试将ws.jars目录的所有者更改为jenkins,但出现了相同的错误。您可以回显路径或写入环境变量吗?当Jenkins在执行器(从机或主机)上运行作业时,它在/bin/sh中的非交互式shell脚本中执行作业,而不是在/bin/bash中作为登录shell。这意味着您得到的环境变量集比从命令行得到的要小。如果是这样的话,我可能会有一个解决办法。我在build.xml文件中创建了一个名为path的新目标。我添加到我原来的帖子中。我喜欢这一切。我注意到我的jre是2x。谢谢你的建议。我已经尝试过了,但没有什么不同。我甚至尝试过创建一个没有空格的新目录,并修改了build.xml以指向它。还是没有骰子/用户/用户名/文档/一体机