Class AppiumCommandExecutor

java.lang.Object
org.openqa.selenium.remote.HttpCommandExecutor
io.appium.java_client.remote.AppiumCommandExecutor
All Implemented Interfaces:
org.openqa.selenium.logging.NeedsLocalLogs, org.openqa.selenium.remote.CommandExecutor

@NullMarked public class AppiumCommandExecutor extends org.openqa.selenium.remote.HttpCommandExecutor
  • Field Summary

    Fields inherited from class org.openqa.selenium.remote.HttpCommandExecutor

    additionalCommands, client, commandCodec, httpClientFactory, responseCodec
  • Constructor Summary

    Constructors
    Constructor
    Description
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, @Nullable org.openqa.selenium.remote.service.DriverService service, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, AppiumClientConfig appiumClientConfig)
    Create an AppiumCommandExecutor instance.
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, AppiumClientConfig appiumClientConfig)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer, AppiumClientConfig appiumClientConfig)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory)
     
    AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service, AppiumClientConfig appiumClientConfig)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    defineCommand(String commandName, org.openqa.selenium.remote.CommandInfo info)
     
    org.openqa.selenium.remote.Response
    execute(org.openqa.selenium.remote.Command command)
     
    Map<String,org.openqa.selenium.remote.CommandInfo>
     
    protected org.openqa.selenium.remote.http.HttpClient
     
    protected @Nullable org.openqa.selenium.remote.CommandCodec<org.openqa.selenium.remote.http.HttpRequest>
     
    org.openqa.selenium.remote.http.HttpClient.Factory
     
    protected void
    Override the http client in the HttpCommandExecutor class with a new http client instance with the given URL.
    void
     
    void
    setCommandCodec(org.openqa.selenium.remote.CommandCodec<org.openqa.selenium.remote.http.HttpRequest> newCodec)
     
    protected void
    setPrivateFieldValue(Class<? extends org.openqa.selenium.remote.CommandExecutor> cls, String fieldName, Object newValue)
    Deprecated.
    void
    setResponseCodec(org.openqa.selenium.remote.ResponseCodec<org.openqa.selenium.remote.http.HttpResponse> codec)
     

    Methods inherited from class org.openqa.selenium.remote.HttpCommandExecutor

    addAdditionalCommand, getAddressOfRemoteServer, getDefaultClientFactory, setLocalLogs

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, @Nullable org.openqa.selenium.remote.service.DriverService service, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory, AppiumClientConfig appiumClientConfig)
      Create an AppiumCommandExecutor instance.
      Parameters:
      additionalCommands - is the map of Appium commands
      service - take a look at DriverService
      httpClientFactory - take a look at HttpClient.Factory
      appiumClientConfig - take a look at AppiumClientConfig
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer, @Nullable org.openqa.selenium.remote.http.HttpClient.Factory httpClientFactory)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, AppiumClientConfig appiumClientConfig)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, URL addressOfRemoteServer, AppiumClientConfig appiumClientConfig)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service)
    • AppiumCommandExecutor

      public AppiumCommandExecutor(Map<String,org.openqa.selenium.remote.CommandInfo> additionalCommands, org.openqa.selenium.remote.service.DriverService service, AppiumClientConfig appiumClientConfig)
  • Method Details

    • setPrivateFieldValue

      @Deprecated protected void setPrivateFieldValue(Class<? extends org.openqa.selenium.remote.CommandExecutor> cls, String fieldName, Object newValue)
      Deprecated.
    • getAdditionalCommands

      public Map<String,org.openqa.selenium.remote.CommandInfo> getAdditionalCommands()
      Overrides:
      getAdditionalCommands in class org.openqa.selenium.remote.HttpCommandExecutor
    • getHttpClientFactory

      public org.openqa.selenium.remote.http.HttpClient.Factory getHttpClientFactory()
    • getCommandCodec

      protected @Nullable org.openqa.selenium.remote.CommandCodec<org.openqa.selenium.remote.http.HttpRequest> getCommandCodec()
    • setCommandCodec

      public void setCommandCodec(org.openqa.selenium.remote.CommandCodec<org.openqa.selenium.remote.http.HttpRequest> newCodec)
    • setResponseCodec

      public void setResponseCodec(org.openqa.selenium.remote.ResponseCodec<org.openqa.selenium.remote.http.HttpResponse> codec)
    • getClient

      protected org.openqa.selenium.remote.http.HttpClient getClient()
    • overrideServerUrl

      protected void overrideServerUrl(URL serverUrl)
      Override the http client in the HttpCommandExecutor class with a new http client instance with the given URL. It uses the same http client factory and client config for the new http client instance if the constructor got them.
      Parameters:
      serverUrl - URL to use for subsequent HTTP requests. Before switching clients, the host is resolved and the override is refused if any resolved address is loopback, link-local (including IPv4 link-local such as metadata-service ranges), unspecified (0.0.0.0 / ::), or multicast. Private (RFC 1918), carrier-grade NAT (100.64.0.0/10), IPv6 unique-local (fc00::/7), and other non-special addresses are not rejected by this check.
    • refreshAdditionalCommands

      public void refreshAdditionalCommands()
    • defineCommand

      public void defineCommand(String commandName, org.openqa.selenium.remote.CommandInfo info)
      Overrides:
      defineCommand in class org.openqa.selenium.remote.HttpCommandExecutor
    • execute

      public org.openqa.selenium.remote.Response execute(org.openqa.selenium.remote.Command command) throws org.openqa.selenium.WebDriverException
      Specified by:
      execute in interface org.openqa.selenium.remote.CommandExecutor
      Overrides:
      execute in class org.openqa.selenium.remote.HttpCommandExecutor
      Throws:
      org.openqa.selenium.WebDriverException