HumHub Documentation (unofficial)

HttpCommandExecutor
in package
implements WebDriverCommandExecutor

Command executor talking to the standalone server via HTTP.

Table of Contents

Interfaces

WebDriverCommandExecutor
Interface for all command executor.

Constants

DEFAULT_HTTP_HEADERS  = ['Content-Type: application/json;charset=UTF-8', 'Accept: application/json']

Properties

$commands  : mixed
$curl  : resource
$isW3cCompliant  : bool
$url  : string
$w3cCompliantCommands  : array<string|int, mixed>

Methods

__construct()  : mixed
disableW3cCompliance()  : mixed
execute()  : WebDriverResponse
getAddressOfRemoteServer()  : string
setConnectionTimeout()  : HttpCommandExecutor
Set timeout for the connect phase
setRequestTimeout()  : HttpCommandExecutor
Set the maximum time of a request
getCommandHttpOptions()  : array<string|int, mixed>

Constants

DEFAULT_HTTP_HEADERS

public mixed DEFAULT_HTTP_HEADERS = ['Content-Type: application/json;charset=UTF-8', 'Accept: application/json']

Properties

$commands

protected static mixed $commands = [ \Facebook\WebDriver\Remote\DriverCommand::ACCEPT_ALERT => ['method' => 'POST', 'url' => '/session/:sessionId/accept_alert'], \Facebook\WebDriver\Remote\DriverCommand::ADD_COOKIE => ['method' => 'POST', 'url' => '/session/:sessionId/cookie'], \Facebook\WebDriver\Remote\DriverCommand::CLEAR_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/clear'], \Facebook\WebDriver\Remote\DriverCommand::CLICK_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/click'], \Facebook\WebDriver\Remote\DriverCommand::CLOSE => ['method' => 'DELETE', 'url' => '/session/:sessionId/window'], \Facebook\WebDriver\Remote\DriverCommand::DELETE_ALL_COOKIES => ['method' => 'DELETE', 'url' => '/session/:sessionId/cookie'], \Facebook\WebDriver\Remote\DriverCommand::DELETE_COOKIE => ['method' => 'DELETE', 'url' => '/session/:sessionId/cookie/:name'], \Facebook\WebDriver\Remote\DriverCommand::DISMISS_ALERT => ['method' => 'POST', 'url' => '/session/:sessionId/dismiss_alert'], \Facebook\WebDriver\Remote\DriverCommand::ELEMENT_EQUALS => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/equals/:other'], \Facebook\WebDriver\Remote\DriverCommand::FIND_CHILD_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/element'], \Facebook\WebDriver\Remote\DriverCommand::FIND_CHILD_ELEMENTS => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/elements'], \Facebook\WebDriver\Remote\DriverCommand::EXECUTE_SCRIPT => ['method' => 'POST', 'url' => '/session/:sessionId/execute'], \Facebook\WebDriver\Remote\DriverCommand::EXECUTE_ASYNC_SCRIPT => ['method' => 'POST', 'url' => '/session/:sessionId/execute_async'], \Facebook\WebDriver\Remote\DriverCommand::FIND_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element'], \Facebook\WebDriver\Remote\DriverCommand::FIND_ELEMENTS => ['method' => 'POST', 'url' => '/session/:sessionId/elements'], \Facebook\WebDriver\Remote\DriverCommand::SWITCH_TO_FRAME => ['method' => 'POST', 'url' => '/session/:sessionId/frame'], \Facebook\WebDriver\Remote\DriverCommand::SWITCH_TO_PARENT_FRAME => ['method' => 'POST', 'url' => '/session/:sessionId/frame/parent'], \Facebook\WebDriver\Remote\DriverCommand::SWITCH_TO_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window'], \Facebook\WebDriver\Remote\DriverCommand::GET => ['method' => 'POST', 'url' => '/session/:sessionId/url'], \Facebook\WebDriver\Remote\DriverCommand::GET_ACTIVE_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/active'], \Facebook\WebDriver\Remote\DriverCommand::GET_ALERT_TEXT => ['method' => 'GET', 'url' => '/session/:sessionId/alert_text'], \Facebook\WebDriver\Remote\DriverCommand::GET_ALL_COOKIES => ['method' => 'GET', 'url' => '/session/:sessionId/cookie'], \Facebook\WebDriver\Remote\DriverCommand::GET_NAMED_COOKIE => ['method' => 'GET', 'url' => '/session/:sessionId/cookie/:name'], \Facebook\WebDriver\Remote\DriverCommand::GET_ALL_SESSIONS => ['method' => 'GET', 'url' => '/sessions'], \Facebook\WebDriver\Remote\DriverCommand::GET_AVAILABLE_LOG_TYPES => ['method' => 'GET', 'url' => '/session/:sessionId/log/types'], \Facebook\WebDriver\Remote\DriverCommand::GET_CURRENT_URL => ['method' => 'GET', 'url' => '/session/:sessionId/url'], \Facebook\WebDriver\Remote\DriverCommand::GET_CURRENT_WINDOW_HANDLE => ['method' => 'GET', 'url' => '/session/:sessionId/window_handle'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_ATTRIBUTE => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/attribute/:name'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_VALUE_OF_CSS_PROPERTY => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/css/:propertyName'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_LOCATION => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/location'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_LOCATION_ONCE_SCROLLED_INTO_VIEW => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/location_in_view'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_SIZE => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/size'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_TAG_NAME => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/name'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_TEXT => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/text'], \Facebook\WebDriver\Remote\DriverCommand::GET_LOG => ['method' => 'POST', 'url' => '/session/:sessionId/log'], \Facebook\WebDriver\Remote\DriverCommand::GET_PAGE_SOURCE => ['method' => 'GET', 'url' => '/session/:sessionId/source'], \Facebook\WebDriver\Remote\DriverCommand::GET_SCREEN_ORIENTATION => ['method' => 'GET', 'url' => '/session/:sessionId/orientation'], \Facebook\WebDriver\Remote\DriverCommand::GET_CAPABILITIES => ['method' => 'GET', 'url' => '/session/:sessionId'], \Facebook\WebDriver\Remote\DriverCommand::GET_TITLE => ['method' => 'GET', 'url' => '/session/:sessionId/title'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_HANDLES => ['method' => 'GET', 'url' => '/session/:sessionId/window_handles'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_POSITION => ['method' => 'GET', 'url' => '/session/:sessionId/window/:windowHandle/position'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_SIZE => ['method' => 'GET', 'url' => '/session/:sessionId/window/:windowHandle/size'], \Facebook\WebDriver\Remote\DriverCommand::GO_BACK => ['method' => 'POST', 'url' => '/session/:sessionId/back'], \Facebook\WebDriver\Remote\DriverCommand::GO_FORWARD => ['method' => 'POST', 'url' => '/session/:sessionId/forward'], \Facebook\WebDriver\Remote\DriverCommand::IS_ELEMENT_DISPLAYED => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/displayed'], \Facebook\WebDriver\Remote\DriverCommand::IS_ELEMENT_ENABLED => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/enabled'], \Facebook\WebDriver\Remote\DriverCommand::IS_ELEMENT_SELECTED => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/selected'], \Facebook\WebDriver\Remote\DriverCommand::MAXIMIZE_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window/:windowHandle/maximize'], \Facebook\WebDriver\Remote\DriverCommand::MOUSE_DOWN => ['method' => 'POST', 'url' => '/session/:sessionId/buttondown'], \Facebook\WebDriver\Remote\DriverCommand::MOUSE_UP => ['method' => 'POST', 'url' => '/session/:sessionId/buttonup'], \Facebook\WebDriver\Remote\DriverCommand::CLICK => ['method' => 'POST', 'url' => '/session/:sessionId/click'], \Facebook\WebDriver\Remote\DriverCommand::DOUBLE_CLICK => ['method' => 'POST', 'url' => '/session/:sessionId/doubleclick'], \Facebook\WebDriver\Remote\DriverCommand::MOVE_TO => ['method' => 'POST', 'url' => '/session/:sessionId/moveto'], \Facebook\WebDriver\Remote\DriverCommand::NEW_SESSION => ['method' => 'POST', 'url' => '/session'], \Facebook\WebDriver\Remote\DriverCommand::QUIT => ['method' => 'DELETE', 'url' => '/session/:sessionId'], \Facebook\WebDriver\Remote\DriverCommand::REFRESH => ['method' => 'POST', 'url' => '/session/:sessionId/refresh'], \Facebook\WebDriver\Remote\DriverCommand::UPLOAD_FILE => ['method' => 'POST', 'url' => '/session/:sessionId/file'], // undocumented \Facebook\WebDriver\Remote\DriverCommand::SEND_KEYS_TO_ACTIVE_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/keys'], \Facebook\WebDriver\Remote\DriverCommand::SET_ALERT_VALUE => ['method' => 'POST', 'url' => '/session/:sessionId/alert_text'], \Facebook\WebDriver\Remote\DriverCommand::SEND_KEYS_TO_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/value'], \Facebook\WebDriver\Remote\DriverCommand::IMPLICITLY_WAIT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts/implicit_wait'], \Facebook\WebDriver\Remote\DriverCommand::SET_SCREEN_ORIENTATION => ['method' => 'POST', 'url' => '/session/:sessionId/orientation'], \Facebook\WebDriver\Remote\DriverCommand::SET_TIMEOUT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts'], \Facebook\WebDriver\Remote\DriverCommand::SET_SCRIPT_TIMEOUT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts/async_script'], \Facebook\WebDriver\Remote\DriverCommand::SET_WINDOW_POSITION => ['method' => 'POST', 'url' => '/session/:sessionId/window/:windowHandle/position'], \Facebook\WebDriver\Remote\DriverCommand::SET_WINDOW_SIZE => ['method' => 'POST', 'url' => '/session/:sessionId/window/:windowHandle/size'], \Facebook\WebDriver\Remote\DriverCommand::STATUS => ['method' => 'GET', 'url' => '/status'], \Facebook\WebDriver\Remote\DriverCommand::SUBMIT_ELEMENT => ['method' => 'POST', 'url' => '/session/:sessionId/element/:id/submit'], \Facebook\WebDriver\Remote\DriverCommand::SCREENSHOT => ['method' => 'GET', 'url' => '/session/:sessionId/screenshot'], \Facebook\WebDriver\Remote\DriverCommand::TAKE_ELEMENT_SCREENSHOT => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/screenshot'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_SINGLE_TAP => ['method' => 'POST', 'url' => '/session/:sessionId/touch/click'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_DOWN => ['method' => 'POST', 'url' => '/session/:sessionId/touch/down'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_DOUBLE_TAP => ['method' => 'POST', 'url' => '/session/:sessionId/touch/doubleclick'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_FLICK => ['method' => 'POST', 'url' => '/session/:sessionId/touch/flick'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_LONG_PRESS => ['method' => 'POST', 'url' => '/session/:sessionId/touch/longclick'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_MOVE => ['method' => 'POST', 'url' => '/session/:sessionId/touch/move'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_SCROLL => ['method' => 'POST', 'url' => '/session/:sessionId/touch/scroll'], \Facebook\WebDriver\Remote\DriverCommand::TOUCH_UP => ['method' => 'POST', 'url' => '/session/:sessionId/touch/up'], \Facebook\WebDriver\Remote\DriverCommand::CUSTOM_COMMAND => [], ]
Tags
see
https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#command-reference

$w3cCompliantCommands

protected static array<string|int, mixed> $w3cCompliantCommands = [\Facebook\WebDriver\Remote\DriverCommand::ACCEPT_ALERT => ['method' => 'POST', 'url' => '/session/:sessionId/alert/accept'], \Facebook\WebDriver\Remote\DriverCommand::ACTIONS => ['method' => 'POST', 'url' => '/session/:sessionId/actions'], \Facebook\WebDriver\Remote\DriverCommand::DISMISS_ALERT => ['method' => 'POST', 'url' => '/session/:sessionId/alert/dismiss'], \Facebook\WebDriver\Remote\DriverCommand::EXECUTE_ASYNC_SCRIPT => ['method' => 'POST', 'url' => '/session/:sessionId/execute/async'], \Facebook\WebDriver\Remote\DriverCommand::EXECUTE_SCRIPT => ['method' => 'POST', 'url' => '/session/:sessionId/execute/sync'], \Facebook\WebDriver\Remote\DriverCommand::FIND_ELEMENT_FROM_SHADOW_ROOT => ['method' => 'POST', 'url' => '/session/:sessionId/shadow/:id/element'], \Facebook\WebDriver\Remote\DriverCommand::FIND_ELEMENTS_FROM_SHADOW_ROOT => ['method' => 'POST', 'url' => '/session/:sessionId/shadow/:id/elements'], \Facebook\WebDriver\Remote\DriverCommand::FULLSCREEN_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window/fullscreen'], \Facebook\WebDriver\Remote\DriverCommand::GET_ACTIVE_ELEMENT => ['method' => 'GET', 'url' => '/session/:sessionId/element/active'], \Facebook\WebDriver\Remote\DriverCommand::GET_ALERT_TEXT => ['method' => 'GET', 'url' => '/session/:sessionId/alert/text'], \Facebook\WebDriver\Remote\DriverCommand::GET_CURRENT_WINDOW_HANDLE => ['method' => 'GET', 'url' => '/session/:sessionId/window'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_LOCATION => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/rect'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_PROPERTY => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/property/:name'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_SHADOW_ROOT => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/shadow'], \Facebook\WebDriver\Remote\DriverCommand::GET_ELEMENT_SIZE => ['method' => 'GET', 'url' => '/session/:sessionId/element/:id/rect'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_HANDLES => ['method' => 'GET', 'url' => '/session/:sessionId/window/handles'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_POSITION => ['method' => 'GET', 'url' => '/session/:sessionId/window/rect'], \Facebook\WebDriver\Remote\DriverCommand::GET_WINDOW_SIZE => ['method' => 'GET', 'url' => '/session/:sessionId/window/rect'], \Facebook\WebDriver\Remote\DriverCommand::IMPLICITLY_WAIT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts'], \Facebook\WebDriver\Remote\DriverCommand::MAXIMIZE_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window/maximize'], \Facebook\WebDriver\Remote\DriverCommand::MINIMIZE_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window/minimize'], \Facebook\WebDriver\Remote\DriverCommand::NEW_WINDOW => ['method' => 'POST', 'url' => '/session/:sessionId/window/new'], \Facebook\WebDriver\Remote\DriverCommand::SET_ALERT_VALUE => ['method' => 'POST', 'url' => '/session/:sessionId/alert/text'], \Facebook\WebDriver\Remote\DriverCommand::SET_SCRIPT_TIMEOUT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts'], \Facebook\WebDriver\Remote\DriverCommand::SET_TIMEOUT => ['method' => 'POST', 'url' => '/session/:sessionId/timeouts'], \Facebook\WebDriver\Remote\DriverCommand::SET_WINDOW_SIZE => ['method' => 'POST', 'url' => '/session/:sessionId/window/rect'], \Facebook\WebDriver\Remote\DriverCommand::SET_WINDOW_POSITION => ['method' => 'POST', 'url' => '/session/:sessionId/window/rect']]

Will be merged with $commands

Methods

__construct()

public __construct(string $url[, string|null $http_proxy = null ][, int|null $http_proxy_port = null ]) : mixed
Parameters
$url : string
$http_proxy : string|null = null
$http_proxy_port : int|null = null

getAddressOfRemoteServer()

public getAddressOfRemoteServer() : string
Return values
string

        
On this page

Search results