【发布时间】:2016-09-14 16:43:51
【问题描述】:
我有一个基类,其中我将 webDriver 定义为(使用 Guice)。这与下面的代码行一起定义了我的前类
@Inject
protected Provider<WebDriver> webDriverProvider;
protected static WebDriver webDriver;
我有另一个在 beforesuite 之后执行的类,它有一个方法 1,我在其中为给定函数编写了测试。它看起来像这样
public void method1() throws InterruptedException {
Thread.sleep(3000);
log.info("Navigating to Method1");
webDriver.findElement(By.xpath(Element1)).click();
}
这里的问题是当行
webDriver.findElement(By.xpath(Element1)).click();
被执行我得到一个异常消息,如 org.openqa.selenium.NoSuchElementException: no such element: Unable to locate element:
Xpath 是正确的。我在此方法之前有一个对话框,它是我之前套件的一部分
我尝试在 click 语句上方添加以下行:
webDriver.switchTo().defaultContent();
log.info(webDriver.findElement(By.xpath(Element1)).getAttribute(Element1)); webDriver.findElement(By.xpath(Element1)).isDisplayed();
问题是“webDriver”所在的第一个实例抛出异常为 NoSuchElementException
任何指针都会帮助我进一步调试它。
谢谢。
【问题讨论】:
-
我在 class2 中扩展了 class1
-
Saurabh:它不在 iframe 中,而且我已经实现了等待 10 秒,但没有解决问题。
标签: selenium selenium-webdriver