我有一个运行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()可以工作!