Class ParallelTest

java.lang.Object
com.vaadin.testbench.TestBenchTestCase
com.vaadin.testbench.parallel.ParallelTest
All Implemented Interfaces:
HasDriver, HasElementQuery, HasSearchContext, HasTestBenchCommandExecutor

public class ParallelTest extends TestBenchTestCase
Unit tests should extend ParallelTest if they are to be run in several browser configurations. For each browser configuration, a WebDriver is properly created with the desired configuration.

You can configure your tests to be run in Sauce Labs. See details at https://wiki.saucelabs.com and https://github.com/vaadin/testbench-demo.

  • Field Details

  • Constructor Details

    • ParallelTest

      public ParallelTest()
  • Method Details

    • getHubURL

      protected String getHubURL()

      Returns the complete URL of the hub where the tests will be run on. Used by setup(), for the creation of the WebDriver.

      This method uses getHubHostname() to build the complete address of the Hub. Override in order to define a different hub address.

      You can provide sauce.user and sauce.sauceAccessKey system properties or SAUCE_USERNAME and SAUCE_ACCESS_KEY environment variables to run the tests in Sauce Labs. If both system property and environment variable is defined, system property is prioritised.

      Returns:
      the complete URL of the hub where the tests will be run on. Used by setup(), for the creation of the WebDriver.
    • getHubHostname

      protected String getHubHostname()

      Returns the hostname of the hub where test is to be run on. If unit test is annotated by RunLocally, this method returns localhost. Otherwise, it will return the host defined by the com.vaadin.testbench.Parameters.hubHostname system parameter or the host defined using a RunOnHub annotation.

      This method is used by getHubURL() to get the full URL of the hub to run tests on.

      Returns:
      the hostname of the hub where test is to be run on.
    • setup

      public void setup() throws Exception

      Sets the driver for this test instance. Uses SetupDriver.setupRemoteDriver(String) or SetupDriver.setupLocalDriver(Browser) according to the annotations found in current test case.

      RunOnHub annotation can be used on the test case class to define a test hub's hostname for the driver to connect to it.
      RunLocally annotation can be used on the test case class to force the driver to connect to localhost (RunLocally annotation overrides RunOnHub annotation).

      Throws:
      Exception - if unable to instantiate WebDriver
    • getRunOnHub

      protected RunOnHub getRunOnHub(Class<?> klass)
      Parameters:
      klass - the test class to get the RunOnHub annotation from
      Returns:
      Value of the RunOnHub annotation of passed Class, or null if annotation is not present.
    • getRunLocallyBrowser

      protected Browser getRunLocallyBrowser()
      Returns:
      Browser value of the RunLocally annotation of current Class, or null if annotation is not present.
    • getRunLocallyBrowserVersion

      protected String getRunLocallyBrowserVersion()
      Returns:
      Version value of the RunLocally annotation of current Class, or empty empty String if annotation is not present.
    • getDefaultCapabilities

      public static List<org.openqa.selenium.remote.DesiredCapabilities> getDefaultCapabilities()
      Returns:
      default capabilities, used if no BrowserConfiguration method was found
    • setDesiredCapabilities

      public void setDesiredCapabilities(org.openqa.selenium.remote.DesiredCapabilities desiredCapabilities)
      Sets the requested DesiredCapabilities (usually browser name and version)
      Parameters:
      desiredCapabilities - to be set
    • getDesiredCapabilities

      protected org.openqa.selenium.remote.DesiredCapabilities getDesiredCapabilities()
      Gets the DesiredCapabilities (usually browser name and version)
      Returns:
      the DesiredCapabilities