Class SafariDriver

  • 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 SafariDriver
    extends org.openqa.selenium.safari.SafariDriver
    implements ReportingDriver
    Extension of the original SafariDriver 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.safari.SafariDriver

        org.openqa.selenium.safari.SafariDriver.WindowType
      • 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
      SafariDriver()
      Initiates a new session with the Agent using default token and URL.
      SafariDriver​(java.lang.String token, org.openqa.selenium.safari.SafariOptions options)
      Initiates a new session with the Agent using provided token and default URL.
      SafariDriver​(java.lang.String token, org.openqa.selenium.safari.SafariOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using provided token and default URL and Project name.
      SafariDriver​(java.lang.String token, org.openqa.selenium.safari.SafariOptions 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.
      SafariDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.safari.SafariOptions options)
      Initiates a new session with the Agent using provided Agent URL and token.
      SafariDriver​(java.net.URL remoteAddress, java.lang.String token, org.openqa.selenium.safari.SafariOptions 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.
      SafariDriver​(java.net.URL remoteAddress, org.openqa.selenium.safari.SafariOptions options)
      Initiates a new session with the Agent using provided Agent URL and default token.
      SafariDriver​(java.net.URL remoteAddress, org.openqa.selenium.safari.SafariOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using provided Agent URL, default token and Project name.
      SafariDriver​(java.net.URL remoteAddress, org.openqa.selenium.safari.SafariOptions options, 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.
      SafariDriver​(org.openqa.selenium.safari.SafariOptions options)
      Initiates a new session with the Agent using default token and URL.
      SafariDriver​(org.openqa.selenium.safari.SafariOptions options, boolean disableReports)
      Initiates a new session with the Agent using default token and URL.
      SafariDriver​(org.openqa.selenium.safari.SafariOptions options, java.lang.String projectName)
      Initiates a new session with the Agent using default token and URL with Project name.
      SafariDriver​(org.openqa.selenium.safari.SafariOptions options, 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()
      Quits the driver and stops the session with the Agent, cleaning up after itself.
      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.
      • Methods inherited from class org.openqa.selenium.safari.SafariDriver

        newWindow, setFileDetector
      • 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

      • SafariDriver

        public SafariDriver()
                     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

        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
      • SafariDriver

        public SafariDriver​(org.openqa.selenium.safari.SafariOptions options)
                     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:
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(org.openqa.selenium.safari.SafariOptions options,
                            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:
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(org.openqa.selenium.safari.SafariOptions options,
                            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:
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(org.openqa.selenium.safari.SafariOptions options,
                            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:
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.lang.String token,
                            org.openqa.selenium.safari.SafariOptions options)
                     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
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.lang.String token,
                            org.openqa.selenium.safari.SafariOptions options,
                            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
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.lang.String token,
                            org.openqa.selenium.safari.SafariOptions options,
                            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
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.safari.SafariOptions options)
                     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/)
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.safari.SafariOptions options,
                            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/)
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.net.URL remoteAddress,
                            org.openqa.selenium.safari.SafariOptions options,
                            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/)
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.net.URL remoteAddress,
                            java.lang.String token,
                            org.openqa.selenium.safari.SafariOptions options)
                     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
        options - take a look at SafariOptions
        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
      • SafariDriver

        public SafariDriver​(java.net.URL remoteAddress,
                            java.lang.String token,
                            org.openqa.selenium.safari.SafariOptions options,
                            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
        options - take a look at SafariOptions
        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()
        Quits the driver and stops the session with the Agent, cleaning up after itself.
        Specified by:
        quit in interface org.openqa.selenium.WebDriver
        Overrides:
        quit in class org.openqa.selenium.remote.RemoteWebDriver