我有一个运行Fitnesse测试的jUnit测试,该测试可以测试某些网页。在开发模式下,我使用FirefoxDriver,并且所有测试都运行良好,网页按预期弹出。

当我尝试以自动化模式(即使用Maven)运行测试时,测试失败了。你们中的任何人对什么地方可能有问题或解决方法有任何建议吗?

相关代码:
-网页:

      <form method="get" action="/someAction.do" name="my_form">
      <input id="fetch_new_submit" class="ui-button ui-widget ui-state-default ui-corner-all" type="submit" onclick="showWaitMsg()" value="Fetch new orders" role="button">
      </form>



灯具代码:
    SomeFixture类...

public boolean pressSubmitButton(String buttonText) {
try {
   List<WebElement> buttons = getWebDriver().findElements(By.tagName("input"));
   for (WebElement button : buttons) {
       if (button.getAttribute("value").equals(buttonText)) {
           System.out.println("found button '" + button.getAttribute("value") + "'.");
           button.click(); //HERE
           return true;
       }
   }
} catch (Exception e) {
   LOG.debug("Some error occured, e);
   return false;
}
LOG.debug("Did not find the button");
return false;
}



注意:
-返回FirefoxDriver的getWebDriver()工作正常。
-getWebDriver返回新的HtmlUnitDriver(true),即启用了javascript,会在此处忽略button.click()。这里也忽略Button.submit(),而button.sendKeys(“ \ n”)抛出元素“未启用”错误。
-我们使用2.0rc2版本

我们的自动化测试不能使用FirefoxDriver。是否有解决此问题的已知方法?

最佳答案

进一步测试和使用前沿技术(即快照)使我暂时可以使用。

那是:
 -将硒升级到2.0rc3
 -将htmlunit升级到2.9快照!!!

还有更多的实验:

final HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);


Firefox版本现在适用于提交类型按钮,但不适用于JavaScript操作。这也可能是由于我在使用Firefox 4.0.1时使用了Firefox_3_6版本驱动程序。浏览器。

IE版本8挂在click()上。

但是,普通的HtmlUnitDriver()可以工作!

10-07 19:29