以下是我的代码,
@Before
public void launchApplication() {
System.setProperty("webdriver.firefox.bin", "D:/Program Files/Mozilla Firefox/firefox.exe");
System.err.println("In launch application, before launching firefox");
driver = new FirefoxDriver();
driver.get(testURL);
driver.manage().timeouts().implicitlyWait(300, TimeUnit.SECONDS);
}
使用junit测试执行上述代码时,application(testURL)成功打开,测试成功运行。
但是,如果使用build.xml(ant xml)启动相同的操作,则firefox不会启动,并且在控制台中我只能看到此消息"在启动应用程序中,启动firefox" 。之后什么也没发生。
帮助我。
谢谢。
答案 0 :(得分:0)
也许是因为启动selenium时应用程序没有运行而引发错误?
例如,我有一个示例ANT代码,它从ANT启动firefox,但首先等待Web应用程序在HTTP端口上可用:
<parallel>
<jetty tempDirectory="${work.dir}">
<connectors>
<selectChannelConnector port="${jetty.port}"/>
</connectors>
<webApp name="dwr" warfile="${lib.dir}/dwr-demo-${dwr.version}.war" contextpath="/dwr"/>
</jetty>
<sequential>
<waitfor>
<socket server="localhost" port="${jetty.port}"/>
</waitfor>
<exec executable="firefox" spawn="yes">
<arg line="http://localhost:${jetty.port}/dwr"/>
</exec>
</sequential>
</parallel>
也许你需要模仿这个逻辑,除非你的单元测试已经启动了应用程序?