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.

VerifyBrowserVersionTest.java 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.vaadin.tests;
  2. import static org.hamcrest.CoreMatchers.containsString;
  3. import static org.hamcrest.CoreMatchers.is;
  4. import static org.hamcrest.MatcherAssert.assertThat;
  5. import org.junit.Test;
  6. import org.openqa.selenium.remote.DesiredCapabilities;
  7. import com.vaadin.testbench.parallel.BrowserUtil;
  8. import com.vaadin.tests.tb3.MultiBrowserTest;
  9. public class VerifyBrowserVersionTest extends MultiBrowserTest {
  10. @Test
  11. public void verifyUserAgent() {
  12. openTestURL();
  13. DesiredCapabilities desiredCapabilities = getDesiredCapabilities();
  14. String userAgent = vaadinElementById("userAgent").getText();
  15. String browserIdentifier;
  16. if (BrowserUtil.isChrome(getDesiredCapabilities())) {
  17. // Chrome version does not necessarily match the desired version
  18. // because of auto updates...
  19. browserIdentifier = getExpectedUserAgentString(
  20. getDesiredCapabilities()) + "96";
  21. } else if (BrowserUtil.isFirefox(getDesiredCapabilities())) {
  22. browserIdentifier = getExpectedUserAgentString(
  23. getDesiredCapabilities()) + "95";
  24. } else {
  25. browserIdentifier = getExpectedUserAgentString(desiredCapabilities)
  26. + desiredCapabilities.getVersion();
  27. }
  28. assertThat(userAgent, containsString(browserIdentifier));
  29. assertThat(vaadinElementById("touchDevice").getText(),
  30. is("Touch device? No"));
  31. }
  32. private String getExpectedUserAgentString(DesiredCapabilities dCap) {
  33. if (BrowserUtil.isIE(dCap)) {
  34. // IE11
  35. return "Trident/7.0; rv:";
  36. } else if (BrowserUtil.isFirefox(dCap)) {
  37. return "Firefox/";
  38. } else if (BrowserUtil.isChrome(dCap)) {
  39. return "Chrome/";
  40. } else if (BrowserUtil.isPhantomJS(dCap)) {
  41. return "PhantomJS/";
  42. }
  43. throw new UnsupportedOperationException(
  44. "Test is being run on unknown browser.");
  45. }
  46. }