我有一个运行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>
灯具代码:
class 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;
}
注意:
- getWebDriver()返回FirefoxDriver工作正常
- getWebDriver返回新的HtmlUnitDriver(true),即启用了javascript,忽略了此处的button.click()。 Button.submit()也在这里被忽略,button.sendKeys(“\ n”)抛出一个元素'not enabled'-error。
- 我们使用版本2.0rc2
我们的自动化测试无法使用FirefoxDriver。这个问题是否有任何已知的解决方法?
答案 0 :(得分:0)
进一步测试和使用出血边缘,即快照给了我一些现在可行的东西。
那是:
- 将Selenium升级到2.0rc3
- 将htmlunit升级到2.9 SNAPSHOT !!!
还有一些试验:
final HtmlUnitDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
Firefox版本现在适用于提交类型按钮但javascript操作失败。这也可能是因为我在使用Firefox 4.0.1时使用了Firefox_3_6版本驱动程序。浏览器。
IE版本_8在click()上挂起。
但是,普通的HtmlUnitDriver()可以工作!