You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MenuBarIsAutoOpenScrollingTest.java 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package com.vaadin.tests.components.menubar;
  2. import java.util.List;
  3. import org.junit.Test;
  4. import org.openqa.selenium.By;
  5. import org.openqa.selenium.WebElement;
  6. import org.openqa.selenium.interactions.Actions;
  7. import org.openqa.selenium.remote.DesiredCapabilities;
  8. import org.openqa.selenium.support.ui.ExpectedConditions;
  9. import com.vaadin.testbench.elements.MenuBarElement;
  10. import com.vaadin.testbench.parallel.Browser;
  11. import com.vaadin.tests.tb3.MultiBrowserTest;
  12. public class MenuBarIsAutoOpenScrollingTest extends MultiBrowserTest {
  13. @Override
  14. public List<DesiredCapabilities> getBrowsersToTest() {
  15. List<DesiredCapabilities> list = super.getBrowsersToTest();
  16. // test is unreliable on Firefox
  17. list.remove(Browser.FIREFOX.getDesiredCapabilities());
  18. return list;
  19. }
  20. @SuppressWarnings("deprecation")
  21. @Test
  22. public void testIsAutoOpenSubmenuScrolling() {
  23. openTestURL();
  24. Actions actions = new Actions(driver);
  25. MenuBarElement menu = $(MenuBarElement.class).get(0);
  26. actions.moveToElement(menu).perform();
  27. waitForElementPresent(By.className("v-menubar-popup"));
  28. WebElement subMenuPopup = driver
  29. .findElement(By.className("v-menubar-popup"));
  30. // here we have to use pause() because LazyCloser in VMenuBar auto
  31. // closes submenus popup in 750 ms.
  32. actions.moveToElement(subMenuPopup, 0, 100).clickAndHold().pause(1000)
  33. .moveByOffset(0, 200).release().perform();
  34. // subMenuPopup should still be presented
  35. waitUntil(ExpectedConditions
  36. .visibilityOfElementLocated(By.className("v-menubar-popup")));
  37. actions.moveByOffset(100, 0).perform();
  38. // subMenuPopup should disappear
  39. waitUntil(ExpectedConditions
  40. .not(ExpectedConditions.invisibilityOfElementLocated(
  41. By.className("v-menubar-popup"))));
  42. }
  43. }