我正在使用Fluentlenium和PhantomJS编写一些自动化测试。我在访问id "#title“时遇到问题。我写的测试如下:
@Test
public void testCreateButton() {
startAppWithCallback(new F.Callback<TestBrowser>() {
public void invoke(TestBrowser browser) throws InterruptedException {
CalendarPage calendarPage = browser.createPage(CalendarPage.class);
calendarPage.withDefaultUrl(BASE_URL);
calendarPage.go();
calendarPage.selectCreateButton();
calendarPage.typeTitle("Java Fundamentals");
browser.await().atMost(3, TimeUnit.SECONDS);
}
});
}测试正在运行,并且似乎能够选择Create按钮,这应该会打开一个模式窗口,但由于某些原因,它在此模式上看不到id。我得到的错误消息如下:
org.openqa.selenium.NoSuchElementException: No element is displayed or enabled. Can't set a new value.当涉及到访问模式窗口中的id时,有什么我没有做的事情吗?任何帮助都将不胜感激。
发布于 2015-08-18 13:44:18
通常,模态窗口需要一些时间才能附加到您正在访问的页面的DOM。虽然您已经增加了3秒来等待元素出现/附加到DOM,但是时间还不够。我不建议增加超时,但建议等待元素出现,然后继续前进。例如,你可以做以下事情来等待一个元素出现在页面上,而不是静态地等待:
FluentWaitMatcher匹配器= page.await().atMost(,TimeUnit.SECONDS).until(findPattern);
https://stackoverflow.com/questions/30305071
复制相似问题