Package com.vaadin.flow.testutil
Class AbstractTestBenchTest
- java.lang.Object
-
- com.vaadin.testbench.TestBenchTestCase
-
- com.vaadin.testbench.parallel.ParallelTest
-
- com.vaadin.flow.testutil.TestBenchHelpers
-
- com.vaadin.flow.testutil.AbstractTestBenchTest
-
- All Implemented Interfaces:
com.vaadin.testbench.HasDriver,com.vaadin.testbench.HasElementQuery,com.vaadin.testbench.HasSearchContext,com.vaadin.testbench.HasTestBenchCommandExecutor
- Direct Known Subclasses:
ViewOrUITest
public abstract class AbstractTestBenchTest extends TestBenchHelpers
Abstract base class for flow TestBench tests.- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractTestBenchTest.ClientChecker
-
Field Summary
Fields Modifier and Type Field Description static StringBROWSERSTACK_IDENTIFIERstatic StringBROWSERSTACK_IDENTIFIER_PROPERTYstatic intSERVER_PORTServer port resolved by system property "serverPort" or the default "8888".static StringSERVER_PORT_PROPERTY_KEYSystem property key for the test server port.org.junit.rules.TestNametestNamestatic booleanUSE_BROWSERSTACKstatic StringUSE_BROWSERSTACK_PROPERTYstatic booleanUSE_HUBstatic StringUSE_HUB_PROPERTY
-
Constructor Summary
Constructors Constructor Description AbstractTestBenchTest()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidcheckIfServerAvailable()Checks that server is available before running the actual test.protected List<org.openqa.selenium.remote.DesiredCapabilities>getBrowserCapabilities(com.vaadin.testbench.parallel.Browser... browsers)Gets browser capabilities for the providedbrowsers.List<org.openqa.selenium.remote.DesiredCapabilities>getBrowsersToTest()Produces a collection of browsers to run the test on.protected StringgetCurrentHostAddress()Returns host address that can be targeted from the outside, like from a test hub.protected StringgetDeploymentHostname()Used to determine what URL to initially open for the test.protected intgetDeploymentPort()Used to determine what port the test is running on.protected List<org.openqa.selenium.remote.DesiredCapabilities>getHubBrowsersToTest()Gets the browsers capabilities list to execute test on the tests Hub.protected StringgetHubHostname()protected Optional<LocalExecution>getLocalExecution()Gets local execution (LocalExecution) configuration for the test.protected StringgetRootURL()Returns the URL to the root of the server, e.g.protected com.vaadin.testbench.parallel.BrowsergetRunLocallyBrowser()protected StringgetRunLocallyBrowserVersion()protected abstract StringgetTestPath()Gets the absolute path to the test, starting with a "/".protected StringgetTestURL(String... parameters)Returns the URL to be used for the test.static StringgetTestURL(String rootUrl, String testPath, String... parameters)Returns the URL to be used for the test.protected booleanisClientRouter()Returns true when using clientSide routingprotected voidopen()protected voidopen(String... parameters)protected voidopenForEs6Url(String... parameters)protected voidopenProduction(String... parameters)protected voidopenProductionWithTiming(String... parameters)protected voidopenUrl(String targetUrl, String... parameters)protected voidverifyScreenshot(String identifier)Compares the given reference screenshot to the current and fails the test if it doesn't match.protected voidwaitForClientRouter()Waits until clientSide route renders the view.-
Methods inherited from class com.vaadin.flow.testutil.TestBenchHelpers
assertEquals, blur, checkLogsForErrors, checkLogsForErrors, clickElementWithJs, clickElementWithJs, drag, dragAndDrop, dragElementOver, executeScript, getLogEntries, getScrollX, getScrollY, hasCssClass, isElementPresent, scrollBy, scrollIntoViewAndClick, scrollToElement, waitForDevServer, waitForElementNotPresent, waitForElementPresent, waitForElementVisible, waitUntilNot, waitUntilNot
-
Methods inherited from class com.vaadin.testbench.parallel.ParallelTest
getDefaultCapabilities, getDesiredCapabilities, getHubURL, getRunOnHub, setDesiredCapabilities, setup
-
Methods inherited from class com.vaadin.testbench.TestBenchTestCase
concatUrl, findElement, findElements, getCommandExecutor, getContext, getDriver, setDriver, testBench, waitUntil, waitUntil, wrap
-
-
-
-
Field Detail
-
SERVER_PORT_PROPERTY_KEY
public static final String SERVER_PORT_PROPERTY_KEY
System property key for the test server port.- See Also:
- Constant Field Values
-
SERVER_PORT
public static final int SERVER_PORT
Server port resolved by system property "serverPort" or the default "8888".
-
USE_HUB_PROPERTY
public static final String USE_HUB_PROPERTY
- See Also:
- Constant Field Values
-
USE_HUB
public static final boolean USE_HUB
-
USE_BROWSERSTACK_PROPERTY
public static final String USE_BROWSERSTACK_PROPERTY
- See Also:
- Constant Field Values
-
USE_BROWSERSTACK
public static final boolean USE_BROWSERSTACK
-
BROWSERSTACK_IDENTIFIER_PROPERTY
public static final String BROWSERSTACK_IDENTIFIER_PROPERTY
- See Also:
- Constant Field Values
-
BROWSERSTACK_IDENTIFIER
public static final String BROWSERSTACK_IDENTIFIER
-
testName
public org.junit.rules.TestName testName
-
-
Method Detail
-
checkIfServerAvailable
public void checkIfServerAvailable()
Checks that server is available before running the actual test.
-
open
protected void open()
-
open
protected void open(String... parameters)
-
openProduction
protected void openProduction(String... parameters)
-
openProductionWithTiming
protected void openProductionWithTiming(String... parameters)
-
openForEs6Url
protected void openForEs6Url(String... parameters)
-
isClientRouter
protected final boolean isClientRouter()
Returns true when using clientSide routing- Returns:
- true when client-side route
-
waitForClientRouter
protected void waitForClientRouter()
Waits until clientSide route renders the view.
-
getTestURL
protected String getTestURL(String... parameters)
Returns the URL to be used for the test.- Parameters:
parameters- query string parameters to add to the url- Returns:
- the URL for the test
-
getTestPath
protected abstract String getTestPath()
Gets the absolute path to the test, starting with a "/".- Returns:
- the path to the test, appended to
getRootURL()for the full test URL.
-
getRootURL
protected String getRootURL()
Returns the URL to the root of the server, e.g. "http://localhost:8888"- Returns:
- the URL to the root
-
verifyScreenshot
protected void verifyScreenshot(String identifier) throws IOException
Compares the given reference screenshot to the current and fails the test if it doesn't match.- Parameters:
identifier- the identifier to use for the screenshot, becomes part of the screenshot name in themodule-folder/reference-screenshots/folder- Throws:
IOException- if there was a problem accessing the reference image
-
getBrowsersToTest
public List<org.openqa.selenium.remote.DesiredCapabilities> getBrowsersToTest()
Produces a collection of browsers to run the test on. This method is executed by the test runner when determining how many test methods to invoke and with what parameters. For each returned value a test method is ran and before running that,ParallelTest.setDesiredCapabilities(DesiredCapabilities)is invoked with the value returned by this method.- Returns:
- The browsers to run the test on
-
getHubBrowsersToTest
protected List<org.openqa.selenium.remote.DesiredCapabilities> getHubBrowsersToTest()
Gets the browsers capabilities list to execute test on the tests Hub.This list will be used only for the tests Hub. Local test execution is managed by
LocalExecutionannotation.The method
getBrowsersToTest()delegates the logic to this method in casegetLocalExecution()return value is an empty optional (i.e. the tests Hub is used).- Returns:
- the browsers capabilities list to execute test on the tests Hub
-
getBrowserCapabilities
protected List<org.openqa.selenium.remote.DesiredCapabilities> getBrowserCapabilities(com.vaadin.testbench.parallel.Browser... browsers)
Gets browser capabilities for the providedbrowsers.- Parameters:
browsers- a browsers list- Returns:
- the capabilities for the given
browsers
-
getDeploymentHostname
protected String getDeploymentHostname()
Used to determine what URL to initially open for the test.- Returns:
- the host name of development server
-
getCurrentHostAddress
protected String getCurrentHostAddress()
Returns host address that can be targeted from the outside, like from a test hub.- Returns:
- host address
- Throws:
RuntimeException- if host name could not be determined orSocketExceptionwas caught during the determination.
-
getDeploymentPort
protected int getDeploymentPort()
Used to determine what port the test is running on.- Returns:
- The port the test is running on, by default AbstractTestBenchTest.DEFAULT_SERVER_PORT
-
getHubHostname
protected String getHubHostname()
- Overrides:
getHubHostnamein classcom.vaadin.testbench.parallel.ParallelTest
-
getRunLocallyBrowser
protected com.vaadin.testbench.parallel.Browser getRunLocallyBrowser()
- Overrides:
getRunLocallyBrowserin classcom.vaadin.testbench.parallel.ParallelTest
-
getRunLocallyBrowserVersion
protected String getRunLocallyBrowserVersion()
- Overrides:
getRunLocallyBrowserVersionin classcom.vaadin.testbench.parallel.ParallelTest
-
getLocalExecution
protected Optional<LocalExecution> getLocalExecution()
Gets local execution (LocalExecution) configuration for the test.If this method return an empty optional then test with be run on the test Hub
- Returns:
- an optional configuration, or an empty optional if configuration is disabled or not available
- See Also:
LocalExecution
-
getTestURL
public static String getTestURL(String rootUrl, String testPath, String... parameters)
Returns the URL to be used for the test.- Parameters:
parameters- query string parameters to add to the urlrootUrl- the root URL of the server (hostname + port)testPath- the path of the test- Returns:
- the URL for the test
-
-