用于Vaadin组件的Selenium WebDriver Automation

时间:2014-08-08 13:30:10

标签: java selenium-webdriver vaadin

我正在使用Selenium Java WebDriver来自动化基于Vaadin的Web应用程序。当我导航到一个页面并单击一个按钮时,它打开了另一个小窗口,它看起来不像是弹出窗口。似乎子窗口动态添加到主html。

有没有人知道如何在Selenium中识别Vaadin元素?

2 个答案:

答案 0 :(得分:1)

尝试

driver.findElement(By.className("v-window"))整个窗口或 driver.findElement(By.className("v-window-contents"))用于窗口内容。

答案 1 :(得分:0)

创建测试时,请确保在浏览器打开后运行此测试。有时测试开始,但浏览器没有打开。我将Thread.sleep(1000);放在@Before课程中,以确保Chrome已打开。

@Before
public void openBrowser() throws InterruptedException {
    System.setProperty("webdriver.chrome.driver", "chromedriver");
    driver = new ChromeDriver();
    driver.get("http://localhost:8000");
    Thread.sleep(1000);
}

然后

@Test
public void testLoginFormExists() {
    WebElement login = driver.findElement(By.id("username"));
    WebElement password = driver.findElement(By.id("password"));
    ...
}

甚至更好,请查看以下答案:https://stackoverflow.com/a/9430377/1168786