Class RemoteWebDriver

  • All Implemented Interfaces:
    ReportingDriver, org.openqa.selenium.HasCapabilities, org.openqa.selenium.interactions.HasInputDevices, org.openqa.selenium.interactions.Interactive, org.openqa.selenium.internal.FindsByClassName, org.openqa.selenium.internal.FindsByCssSelector, org.openqa.selenium.internal.FindsById, org.openqa.selenium.internal.FindsByLinkText, org.openqa.selenium.internal.FindsByName, org.openqa.selenium.internal.FindsByTagName, org.openqa.selenium.internal.FindsByXPath, org.openqa.selenium.JavascriptExecutor, org.openqa.selenium.SearchContext, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.WebDriver

    public class RemoteWebDriver
    extends org.openqa.selenium.remote.RemoteWebDriver
    implements ReportingDriver
    Extension of the original RemoteWebDriver Instead of initializing a new session, it starts it in the TestProject Agent and then reconnects to it.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.openqa.selenium.remote.RemoteWebDriver

        org.openqa.selenium.remote.RemoteWebDriver.RemoteTargetLocator, org.openqa.selenium.remote.RemoteWebDriver.RemoteWebDriverOptions, org.openqa.selenium.remote.RemoteWebDriver.When
      • Nested classes/interfaces inherited from interface org.openqa.selenium.WebDriver

        org.openqa.selenium.WebDriver.ImeHandler, org.openqa.selenium.WebDriver.Navigation, org.openqa.selenium.WebDriver.Options, org.openqa.selenium.WebDriver.TargetLocator, org.openqa.selenium.WebDriver.Timeouts, org.openqa.selenium.WebDriver.Window
    • Constructor Summary

      Constructors 
      Constructor Description
      RemoteWebDriver​(java.lang.String token, org.openqa.selenium.Capabilities capabilities)
      Initiates a new session with the Agent using provided token and default URL.
      RemoteWebDriver​(java.lang.String token, org.openqa.selenium.Capabilities capabilities, java.lang.String projectName)
      Initiates a new session with the Agent using provided token and default URL and Project name.
      RemoteWebDriver​(java.lang.String token, org.openqa.selenium.Capabilities capabilities, java.lang.String projectName, java.lang.String jobName)
      Initiates a new session with the Agent using provided token and default URL, Project and Job names.
      RemoteWebDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.Capabilities capabilities)
      Initiates a new session with the Agent using provided Agent URL and token.
      RemoteWebDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.Capabilities capabilities, java.lang.String projectName, java.lang.String jobName, boolean disableReports)
      Initiates a new session with the Agent using provided Agent URL, token, Project and Job names.
      RemoteWebDriver​(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities)
      Initiates a new session with the Agent using provided Agent URL and default token.
      RemoteWebDriver​(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities, java.lang.String projectName)
      Initiates a new session with the Agent using provided Agent URL, default token and Project name.
      RemoteWebDriver​(java.net.URL remoteAddress, org.openqa.selenium.Capabilities capabilities, java.lang.String projectName, java.lang.String jobName)
      Initiates a new session with the Agent using provided Agent URL and default token, Project and Job names.
      RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities)
      Initiates a new session with the Agent using default token and URL.
      RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities, boolean disableReports)
      Initiates a new session with the Agent using default token and URL.
      RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities, java.lang.String projectName)
      Initiates a new session with the Agent using default token and URL with Project name.
      RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities, java.lang.String projectName, java.lang.String jobName)
      Initiates a new session with the Agent using default token and URL, Project and Job names.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void quit()
      Removes shutdown hook and calls stop().
      Reporter report()
      Provides access to the reporting functionality and settings.
      protected void startSession​(org.openqa.selenium.Capabilities capabilities)
      Sets capabilities and sessionId obtained from the Agent when creating the original session.
      void stop()
      Quits the driver and stops the session with the Agent, cleaning up after itself.
      • Methods inherited from class org.openqa.selenium.remote.RemoteWebDriver

        builder, close, execute, execute, executeAsyncScript, executeScript, findElement, findElement, findElementByClassName, findElementByCssSelector, findElementById, findElementByLinkText, findElementByName, findElementByPartialLinkText, findElementByTagName, findElementByXPath, findElements, findElements, findElementsByClassName, findElementsByCssSelector, findElementsById, findElementsByLinkText, findElementsByName, findElementsByPartialLinkText, findElementsByTagName, findElementsByXPath, get, getCapabilities, getCommandExecutor, getCurrentUrl, getElementConverter, getErrorHandler, getExecuteMethod, getFileDetector, getKeyboard, getMouse, getPageSource, getScreenshotAs, getSessionId, getTitle, getWindowHandle, getWindowHandles, log, manage, navigate, perform, resetInputState, setCommandExecutor, setElementConverter, setErrorHandler, setFileDetector, setFoundBy, setLogLevel, setSessionId, switchTo, toString
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • RemoteWebDriver

        public RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using default token and URL.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        capabilities - take a look at Capabilities
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities,
                               boolean disableReports)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using default token and URL.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        capabilities - take a look at Capabilities
        disableReports - True to disable automatic reporting of driver commands and tests, otherwise False.
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using default token and URL with Project name.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        capabilities - take a look at Capabilities
        projectName - Project name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName,
                               java.lang.String jobName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using default token and URL, Project and Job names.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        capabilities - take a look at Capabilities
        projectName - Project name to report
        jobName - Job name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.lang.String token,
                               org.openqa.selenium.Capabilities capabilities)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided token and default URL.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Creates a new instance based on capabilities.

        Parameters:
        token - Development token that should be obtained from SDK page
        capabilities - take a look at Capabilities
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.lang.String token,
                               org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided token and default URL and Project name.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Creates a new instance based on capabilities.

        Parameters:
        token - Development token that should be obtained from SDK page
        capabilities - take a look at Capabilities
        projectName - Project name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.lang.String token,
                               org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName,
                               java.lang.String jobName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided token and default URL, Project and Job names.

        Default Agent URL can be set using TP_AGENT_URL environment variable. If the environment variable is not set, default URL http://localhost:8585 is used.

        Creates a new instance based on capabilities.

        Parameters:
        token - Development token that should be obtained from SDK page
        capabilities - take a look at Capabilities
        projectName - Project name to report
        jobName - Job name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.net.URL remoteAddress,
                               org.openqa.selenium.Capabilities capabilities)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL and default token.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        remoteAddress - Agent API base URL (e.g. http://localhost:8585/)
        capabilities - take a look at Capabilities
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.net.URL remoteAddress,
                               org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL, default token and Project name.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        remoteAddress - Agent API base URL (e.g. http://localhost:8585/)
        capabilities - take a look at Capabilities
        projectName - Project name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.net.URL remoteAddress,
                               org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName,
                               java.lang.String jobName)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL and default token, Project and Job names.

        Default token can be set using TP_DEV_TOKEN environment variable. You can get a token from SDK page

        Creates a new instance based on capabilities.

        Parameters:
        remoteAddress - Agent API base URL (e.g. http://localhost:8585/)
        capabilities - take a look at Capabilities
        projectName - Project name to report
        jobName - Job name to report
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.net.URL remoteAddress,
                               java.lang.String token,
                               org.openqa.selenium.Capabilities capabilities)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL and token.
        Parameters:
        remoteAddress - Agent API base URL (e.g. http://localhost:8585/)
        token - Development token that should be obtained from SDK page
        capabilities - take a look at Capabilities
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • RemoteWebDriver

        public RemoteWebDriver​(java.net.URL remoteAddress,
                               java.lang.String token,
                               org.openqa.selenium.Capabilities capabilities,
                               java.lang.String projectName,
                               java.lang.String jobName,
                               boolean disableReports)
                        throws AgentConnectException,
                               InvalidTokenException,
                               java.net.MalformedURLException,
                               ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL, token, Project and Job names.
        Parameters:
        remoteAddress - Agent API base URL (e.g. http://localhost:8585/)
        token - Development token that should be obtained from SDK page
        capabilities - take a look at Capabilities
        projectName - Project name to report
        jobName - Job name to report
        disableReports - True to disable automatic reporting of driver commands and tests, otherwise False.
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.net.MalformedURLException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
    • Method Detail

      • startSession

        protected void startSession​(org.openqa.selenium.Capabilities capabilities)
        Sets capabilities and sessionId obtained from the Agent when creating the original session.
        Overrides:
        startSession in class org.openqa.selenium.remote.RemoteWebDriver
      • quit

        public void quit()
        Removes shutdown hook and calls stop().
        Specified by:
        quit in interface org.openqa.selenium.WebDriver
        Overrides:
        quit in class org.openqa.selenium.remote.RemoteWebDriver
      • stop

        public void stop()
        Quits the driver and stops the session with the Agent, cleaning up after itself.
        Specified by:
        stop in interface ReportingDriver