Class ChromeDriver

  • All Implemented Interfaces:
    ReportingDriver, org.openqa.selenium.HasCapabilities, org.openqa.selenium.html5.LocationContext, org.openqa.selenium.html5.WebStorage, org.openqa.selenium.interactions.HasInputDevices, org.openqa.selenium.interactions.HasTouchScreen, 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.mobile.NetworkConnection, org.openqa.selenium.SearchContext, org.openqa.selenium.TakesScreenshot, org.openqa.selenium.WebDriver

    public class ChromeDriver
    extends org.openqa.selenium.chrome.ChromeDriver
    implements ReportingDriver
    Extension of the original ChromeDriver 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.mobile.NetworkConnection

        org.openqa.selenium.mobile.NetworkConnection.ConnectionType
      • 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
      ChromeDriver()
      Initiates a new session with the Agent using default token and URL.
      ChromeDriver​(java.lang.String token, org.openqa.selenium.chrome.ChromeOptions options)
      Initiates a new session with the Agent using provided token and default URL.
      ChromeDriver​(java.lang.String token, org.openqa.selenium.chrome.ChromeOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using provided token and default URL and Project name.
      ChromeDriver​(java.lang.String token, org.openqa.selenium.chrome.ChromeOptions options, 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.
      ChromeDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.chrome.ChromeOptions options)
      Initiates a new session with the Agent using provided Agent URL and token.
      ChromeDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.chrome.ChromeOptions options, 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.
      ChromeDriver​(java.net.URL remoteAddress, org.openqa.selenium.chrome.ChromeOptions options)
      Initiates a new session with the Agent using provided Agent URL and default token.
      ChromeDriver​(java.net.URL remoteAddress, org.openqa.selenium.chrome.ChromeOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using provided Agent URL, default token and Project name.
      ChromeDriver​(java.net.URL remoteAddress, org.openqa.selenium.chrome.ChromeOptions options, java.lang.String projectName, java.lang.String jobName)
      Initiates a new session with the Agent using provided Agent URL, default token, Project and Job names.
      ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options)
      Initiates a new session with the Agent using default token and URL.
      ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options, boolean disableReports)
      Initiates a new session with the Agent using default token and URL and reports commands.
      ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using default token and URL with Project name.
      ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options, java.lang.String projectName, java.lang.String jobName)
      Initiates a new session with the Agent using default token and URL.
    • 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.chrome.ChromeDriver

        getLocalStorage, getNetworkConnection, getSessionStorage, getTouch, launchApp, location, setFileDetector, setLocation, setNetworkConnection
      • 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, setFoundBy, setLogLevel, setSessionId, switchTo, toString
      • Methods inherited from class java.lang.Object

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

      • ChromeDriver

        public ChromeDriver()
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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

        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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:
        options - take a look at ChromeOptions
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options,
                            boolean disableReports)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            ObsoleteVersionException
        Initiates a new session with the Agent using default token and URL and reports commands.

        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:
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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:
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName,
                            java.lang.String jobName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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:
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.lang.String token,
                            org.openqa.selenium.chrome.ChromeOptions options)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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
        options - take a look at ChromeOptions
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.lang.String token,
                            org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.lang.String token,
                            org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName,
                            java.lang.String jobName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.chrome.ChromeOptions options)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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/)
        options - take a look at ChromeOptions
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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/)
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName,
                            java.lang.String jobName)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            ObsoleteVersionException
        Initiates a new session with the Agent using provided Agent URL, 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/)
        options - take a look at ChromeOptions
        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.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.net.URL remoteAddress,
                            java.lang.String token,
                            org.openqa.selenium.chrome.ChromeOptions options)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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
        options - take a look at ChromeOptions
        Throws:
        AgentConnectException - if Agent is not responding or responds with an error
        InvalidTokenException - if the token provided is invalid
        java.io.IOException - if the Agent API base URL provided is malformed
        ObsoleteVersionException - if the SDK version is incompatible with the Agent
      • ChromeDriver

        public ChromeDriver​(java.net.URL remoteAddress,
                            java.lang.String token,
                            org.openqa.selenium.chrome.ChromeOptions options,
                            java.lang.String projectName,
                            java.lang.String jobName,
                            boolean disableReports)
                     throws InvalidTokenException,
                            AgentConnectException,
                            java.io.IOException,
                            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
        options - take a look at ChromeOptions
        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.io.IOException - 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