Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ReconnectDialogUITest.java 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package com.vaadin.tests.application;
  2. import static org.junit.Assert.assertEquals;
  3. import static org.junit.Assert.assertFalse;
  4. import static org.junit.Assert.assertTrue;
  5. import org.junit.Test;
  6. import org.openqa.selenium.By;
  7. import org.openqa.selenium.WebElement;
  8. import com.vaadin.testbench.elements.ButtonElement;
  9. import com.vaadin.tests.tb3.MultiBrowserTestWithProxy;
  10. import java.io.IOException;
  11. public class ReconnectDialogUITest extends MultiBrowserTestWithProxy {
  12. @Test
  13. public void reconnectTogglesBodyStyle() throws IOException {
  14. openTestURL();
  15. getButton().click();
  16. disconnectProxy();
  17. getButton().click();
  18. waitForReconnectDialogPresent();
  19. WebElement body = findElement(By.xpath("//body"));
  20. assertTrue("Body should have a style name when reconnecting",
  21. hasCssClass(body, "v-reconnecting"));
  22. connectProxy();
  23. waitForReconnectDialogToDisappear();
  24. assertFalse("Body should no longer have a style name when reconnected",
  25. hasCssClass(body, "v-reconnecting"));
  26. }
  27. @Test
  28. public void reconnectDialogShownAndDisappears() throws IOException {
  29. openTestURL();
  30. getButton().click();
  31. assertEquals("1. Hello from the server", getLogRow(0));
  32. disconnectProxy();
  33. getButton().click();
  34. waitForReconnectDialogWithText(
  35. "Server connection lost, trying to reconnect...");
  36. connectProxy();
  37. waitForReconnectDialogToDisappear();
  38. assertEquals("2. Hello from the server", getLogRow(0));
  39. }
  40. private void waitForReconnectDialogWithText(final String text) {
  41. waitForReconnectDialogPresent();
  42. final WebElement reconnectDialog = findElement(
  43. ReconnectDialogThemeTest.reconnectDialogBy);
  44. waitUntil(input -> reconnectDialog.findElement(By.className("text"))
  45. .getText().equals(text), 10);
  46. }
  47. private void waitForReconnectDialogToDisappear() {
  48. waitForElementNotPresent(ReconnectDialogThemeTest.reconnectDialogBy);
  49. }
  50. private void waitForReconnectDialogPresent() {
  51. waitForElementPresent(ReconnectDialogThemeTest.reconnectDialogBy);
  52. }
  53. private WebElement getButton() {
  54. return $(ButtonElement.class).first();
  55. }
  56. }