Browse Source

Use synthetic javascript events for IE browsers in context click tests

Change-Id: Ifdfac8f2088042e2eeb4618b66a9e4dc315f7e24
tags/7.6.0.alpha7
Teemu Suo-Anttila 8 years ago
parent
commit
ec8f3e9bc6

+ 8
- 2
uitest/src/com/vaadin/tests/application/CriticalNotificationsTest.java View File

import com.vaadin.testbench.elements.ButtonElement; import com.vaadin.testbench.elements.ButtonElement;
import com.vaadin.testbench.elements.CheckBoxElement; import com.vaadin.testbench.elements.CheckBoxElement;
import com.vaadin.testbench.elements.NotificationElement; import com.vaadin.testbench.elements.NotificationElement;
import com.vaadin.testbench.parallel.BrowserUtil;
import com.vaadin.tests.tb3.MultiBrowserThemeTest; import com.vaadin.tests.tb3.MultiBrowserThemeTest;


public class CriticalNotificationsTest extends MultiBrowserThemeTest { public class CriticalNotificationsTest extends MultiBrowserThemeTest {


@Override @Override
protected boolean useNativeEventsForIE11() {
return false;
protected boolean useNativeEventsForIE() {
if (BrowserUtil.isIE(getDesiredCapabilities(), 11)) {
// Use JavaScript events only for IE11
return false;
} else {
return true;
}
} }


@Test @Test

+ 11
- 2
uitest/src/com/vaadin/tests/contextclick/AbstractContextClickTest.java View File

import java.util.regex.Pattern; import java.util.regex.Pattern;


import org.junit.Assert; import org.junit.Assert;
import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.openqa.selenium.Point; import org.openqa.selenium.Point;
import org.openqa.selenium.WebElement; import org.openqa.selenium.WebElement;
private Pattern defaultLog = Pattern private Pattern defaultLog = Pattern
.compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]"); .compile("[0-9]+. ContextClickEvent: [(]([0-9]+), ([0-9]+)[)]");


@Override
protected boolean useNativeEventsForIE() {
return false;
}

@Override @Override
public List<DesiredCapabilities> getBrowsersToTest() { public List<DesiredCapabilities> getBrowsersToTest() {
return getBrowsersSupportingContextMenu(); return getBrowsersSupportingContextMenu();
} }


@Test
public void testDefaultListener() {
@Before
public void setUp() {
openTestURL(); openTestURL();
}


@Test
public void testDefaultListener() {
addOrRemoveDefaultListener(); addOrRemoveDefaultListener();


assertDefaultContextClickListener(1); assertDefaultContextClickListener(1);

+ 0
- 6
uitest/src/com/vaadin/tests/contextclick/GridContextClickTest.java View File

public class GridContextClickTest extends AbstractContextClickTest { public class GridContextClickTest extends AbstractContextClickTest {
@Test @Test
public void testBodyContextClickWithTypedListener() { public void testBodyContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


contextClick($(GridElement.class).first().getCell(0, 0)); contextClick($(GridElement.class).first().getCell(0, 0));


@Test @Test
public void testHeaderContextClickWithTypedListener() { public void testHeaderContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


contextClick($(GridElement.class).first().getHeaderCell(0, 0)); contextClick($(GridElement.class).first().getHeaderCell(0, 0));


@Test @Test
public void testFooterContextClickWithTypedListener() { public void testFooterContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


contextClick($(GridElement.class).first().getFooterCell(0, 0)); contextClick($(GridElement.class).first().getFooterCell(0, 0));

+ 0
- 2
uitest/src/com/vaadin/tests/contextclick/ListenerAddAndRemoveTest.java View File



@Test @Test
public void testAddAndRemoveListeners() { public void testAddAndRemoveListeners() {
openTestURL();

// Add typed listener // Add typed listener
addOrRemoveTypedListener(); addOrRemoveTypedListener();



+ 1
- 0
uitest/src/com/vaadin/tests/contextclick/TableContextClick.java View File

Table table = new Table(); Table table = new Table();
table.setContainerDataSource(PersonContainer.createWithTestData()); table.setContainerDataSource(PersonContainer.createWithTestData());
table.setFooterVisible(true); table.setFooterVisible(true);
table.setHeight("400px");
return table; return table;
} }



+ 0
- 6
uitest/src/com/vaadin/tests/contextclick/TableContextClickTest.java View File



@Test @Test
public void testBodyContextClickWithTypedListener() { public void testBodyContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


assertTypedContextClickListener(1); assertTypedContextClickListener(1);


@Test @Test
public void testHeaderContextClickWithTypedListener() { public void testHeaderContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


contextClick($(TableElement.class).first().getHeaderCell(0)); contextClick($(TableElement.class).first().getHeaderCell(0));


@Test @Test
public void testFooterContextClickWithTypedListener() { public void testFooterContextClickWithTypedListener() {
openTestURL();

addOrRemoveTypedListener(); addOrRemoveTypedListener();


contextClick($(TableElement.class).first().getFooterCell(0)); contextClick($(TableElement.class).first().getFooterCell(0));

+ 2
- 2
uitest/src/com/vaadin/tests/tb3/AbstractTB3Test.java View File

} }


/** /**
* Should the "native events" be enabled for Internet Explorer 11.
* Should the "native events" be enabled for Internet Explorer.
* <p> * <p>
* Native events sometimes cause failure in clicking on buttons/checkboxes * Native events sometimes cause failure in clicking on buttons/checkboxes
* but are possibly needed for some operations. * but are possibly needed for some operations.
* @return true, to use "native events", false to use generated Javascript * @return true, to use "native events", false to use generated Javascript
* events * events
*/ */
protected boolean useNativeEventsForIE11() {
protected boolean useNativeEventsForIE() {
return true; return true;
} }



+ 3
- 7
uitest/src/com/vaadin/tests/tb3/MultiBrowserTest.java View File

InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING,
false); false);
} }
if (BrowserUtil.isIE(desiredCapabilities, 11)) {
// Only for IE 11 for now, can be expanded to other versions if
// they have the same problems
if (!useNativeEventsForIE11()) {
desiredCapabilities.setCapability(
InternetExplorerDriver.NATIVE_EVENTS, false);
}
if (!useNativeEventsForIE()) {
desiredCapabilities.setCapability(
InternetExplorerDriver.NATIVE_EVENTS, false);
} }
} }



Loading…
Cancel
Save