为什么我的selenium测试在Eclipse(TestNG Firefox)中运行,而不是在命令行(ant)中运行?

时间:2016-02-03 20:17:23

标签: eclipse firefox selenium ant webdriver

我可以通过右键单击Eclipse中的selenium tests文件并选择Run as .java,从Eclipse中运行我的TestNG Test而没有任何问题。 Firefox驱动程序已启动,测试按预期运行。

Environment:
Windows 8.1 64 bit
selenium 2.50.0
Firefox 36 (auto update turned off - a bit behind).  

但是,当使用ant - build.xml文件运行相同的测试时,会导致完全不同的行为:
Firefox浏览器启动,但我总是遇到Unable to connect to host on port 127.0.0.1 on port 7055错误。

我最好的猜测是这与64位操作系统有关,而Firefox似乎不支持64位,但我不知道为什么它可以通过Eclipse工作?我觉得我已经尝试了几乎所有东西,不愿意从头开始使用新的32位机器。任何帮助将不胜感激。我这么长时间一直在旋转。

1 个答案:

答案 0 :(得分:0)

PanKaj - 这就是问题所在!我删除了Applitools包中包含的jar文件后,我的问题就消失了。感谢您的见解,我的测试现在可以从命令行开始,因此Jenkins也可以。我只需要找到一种方法来使用我需要的Appliools +罐子以及我需要驱动Firefox浏览器而没有任何冲突的jar文件。一步一步来。

谢谢大家,希望这对其他人有所帮助!

更新:我能够更改我的ant build.xml文件并强制执行特定的序列顺序并使一切正常。我的旧build.xml:

<property name="ws.jars" value="C:\\All Jar files"/>

我的新build.xml:

<property name="ws.jars1" value="C:\\All Jar files\\OAuth2_Jars"/>
<property name="ws.jars2" value="C:\\All Jar files\\selenium-2.50.0"/>
<property name="ws.jars3" value="C:\\All Jar files\\Additional Jar Files"/>
<property name="ws.jars4" value="C:\\All Jar files\\eyes-selenium-java-2.22_2_22"/>
...
<path id="classpath_jars">
<fileset dir="${ws.jars1}" includes="*.jar"/>
<fileset dir="${ws.jars2}" includes="*.jar"/>
<fileset dir="${ws.jars3}" includes="*.jar"/>
<fileset dir="${ws.jars4}" includes="*.jar"/>
</path>

现在一切都很好!