aboutsummaryrefslogtreecommitdiffstats
path: root/uitest/src/test/java/com/vaadin/tests/components/FocusTest.java
blob: 40cbaadd7e004b26b78648fd396d0b21a7bd6de1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.vaadin.tests.components;

import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;

import com.vaadin.testbench.TestBenchElement;
import com.vaadin.tests.tb3.MultiBrowserTest;

public abstract class FocusTest extends MultiBrowserTest {

    protected boolean isFocusInsideElement(TestBenchElement element) {
        WebElement focused = getFocusedElement();
        assertNotNull(focused);
        String id = focused.getAttribute("id");
        assertTrue("Focused element should have a non-empty id",
                id != null && !"".equals(id));
        return element.isElementPresent(By.id(id));
    }

    @Override
    public List<DesiredCapabilities> getBrowsersToTest() {
        // Focus does not move when expected with Selenium/TB and Firefox 45
        return getBrowsersExcludingFirefox();
    }

}