Added touch commands (#9355)

This commit is contained in:
Dan Graham
2017-10-06 11:25:52 -07:00
committed by GitHub
parent be95957c8b
commit 5480b68d36
43 changed files with 670 additions and 1338 deletions

View File

@@ -0,0 +1,78 @@
---
name: Click
short_description: Double-clicks at the current mouse coordinates (set by moveto).
example_usage:
java:
|
Actions action = new Actions(driver);
action.moveTo(element);
action.doubleClick();
action.perform();
python:
|
actions = ActionChains(driver)
actions.move_to_element(element)
actions.double_click()
actions.perform()
javascript_wd:
|
await driver.moveTo(element);
await driver.doubleclick();
javascript_wdio:
|
driver.moveTo(element)
.doubleClick();
ruby:
|
@driver.action.move_to(element).double_click.perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html#doubleClick--"
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.action_chains.ActionChains.double_click"
javascript_wdio: "http://webdriver.io/api/action/doubleClick.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1686"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:double_click"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: false
uiautomation: false
android:
uiautomator2: false
uiautomator: false
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/doubledoubleClick
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessioniddoubledoubleClick

View File

@@ -1,5 +1,5 @@
---
name: Set Orientation
name: Move Mouse To
short_description: Move the mouse by an offset of the specificed element
description:
@@ -11,9 +11,12 @@ example_usage:
|
Actions action = new Actions(driver);
action.moveTo(element, 10, 10);
action.perform()
python:
|
driver.move_to(element, 10, 10)
actions = ActionChains(driver)
actions.move_to(element, 10, 10)
actions.perform()
javascript_wd:
|
await driver.moveTo(element, 10, 10);

View File

@@ -0,0 +1,80 @@
---
name: Double Tap
short_description: Double tap on the touch screen using finger motion events
example_usage:
java:
|
TouchActions action = new TouchActions(driver);
action.doubleTap(element);
action.perform();
python:
|
actions = TouchActions(driver)
actions.double_tap(element)
actions.perform()
javascript_wd:
|
// Using tapElement method
await driver.tapElement(elementOne);
// Using touch actions
let action = new wd.TouchAction();
action.tap({el: element});
action.perform();
await driver.performTouchAction(action);
ruby:
|
@driver.touch_action.double_tap(element).perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#doubleTap-org.openqa.selenium.WebElement-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.double_tap"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L425"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:double_tap"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: false
uiautomation: false
android:
uiautomator2: false
uiautomator: false
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/touch/doubleclick
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- name: element
type: number
description: ID of the element to double tap on
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchdoubleclick

View File

@@ -0,0 +1,88 @@
---
name: Tap
short_description: Flick on the touch screen using finger motion events
example_usage:
java:
|
TouchActions action = new TouchActions(driver);
action.flick(element, 1, 10, 10);
action.perform();
python:
|
actions = TouchActions(driver)
actions.flick_element(element, 1, 10, 10)
actions.perform()
javascript_wd:
|
await element.flick(1, 10, 10);
javascript_wdio:
|
driver.touchFlick('<ELEMENT_ID>', 1, 10, 10);
ruby:
|
@driver.touch_action.flick(element, 1, 10, 10).perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#flick-org.openqa.selenium.WebElement-int-int-int-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.flick_element"
javascript_wdio: "http://webdriver.io/api/protocol/touchFlick.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1513"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:flick"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: true
uiautomation: true
android:
uiautomator2: true
uiautomator: true
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/touch/flick
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- name: element
type: string
description: ID of the element where the flick starts
- name: xoffset
type: number
description: The x offset in pixels to flick by
- name: yoffset
type: number
description: The y offset in pixels to flick by
- name: speed
type: number
description: The speed in pixels per seconds
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchflick

View File

@@ -0,0 +1,87 @@
---
name: Long Tap
short_description: Long press on the touch screen using finger motion events
example_usage:
java:
|
TouchActions action = new TouchActions(driver);
action.longPress(element);
action.perform();
python:
|
actions = TouchActions(driver)
actions.long_press(element)
actions.perform()
javascript_wd:
|
// Using touch actions
let action = new wd.TouchAction();
action.longPress({el: element});
action.perform();
await driver.performTouchAction(action);
javascript_wdio:
|
driver.touchPerform({
action: 'longPress',
options: {
element: element
}
});
ruby:
|
@driver.touch_action.long_press(element).perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#longPress-org.openqa.selenium.WebElement-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.long_press"
javascript_wdio: "http://webdriver.io/api/mobile/touchPerform.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1531"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:long_press"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: true
uiautomation: true
android:
uiautomator2: true
uiautomator: true
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/touch/longclick
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- name: element
type: number
description: ID of the element to double tap on
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchlongclick

View File

@@ -29,7 +29,7 @@ example_usage:
javascript_wdio:
|
driver.touchPerform([
driver.touchMultiPerform([
{ action: 'press', options: { x: 100, y: 250 }},
{ action: 'moveTo', options: { x: 300, y: 100 }},
{ action: 'release' }

View File

@@ -0,0 +1,86 @@
---
name: Scroll
short_description: Scroll on the touch screen using finger based motion events
example_usage:
java:
|
TouchActions action = new TouchActions(driver);
action.scroll(element, 10, 100);
action.perform();
python:
|
actions = TouchActions(driver)
actions.scroll_from_element(element, 10, 100)
actions.scroll(10, 100)
actions.perform()
javascript_wd:
|
await driver.scroll(10, 100);
javascript_wdio:
|
driver.touchScroll({
el: element,
xOffset: 10,
yOffset: 100
});
ruby:
|
@driver.touch_action.scroll(element, 10, 100).perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#scroll-int-int-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.scroll"
javascript_wdio: "http://webdriver.io/api/protocol/touchScroll.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L425"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:scroll"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: true
uiautomation: true
android:
uiautomator2: true
uiautomator: true
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/touch/scroll
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- name: x
type: number
description: X coordinate on the screen
- name: y
type: number
description: Y coordinate on the screen
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchscroll

View File

@@ -0,0 +1,90 @@
---
name: Tap
short_description: Single tap on the touch enabled device
example_usage:
java:
|
TouchActions action = new TouchActions(driver);
action.singleTap(element);
action.perform();
python:
|
actions = TouchActions(driver)
actions.tap(element)
actions.perform()
javascript_wd:
|
// Using tapElement method
await driver.tapElement(elementOne);
// Using touch actions
let action = new wd.TouchAction();
action.tap({el: element});
action.perform();
await driver.performTouchAction(action);
javascript_wdio:
|
driver.touchPerform({
action: 'tap',
options: {
element: element
}
});
ruby:
|
@driver.touch_action.single_tap(element).perform
php:
|
// TODO PHP sample
csharp:
|
// TODO C# sample
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#singleTap-org.openqa.selenium.WebElement-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.tap"
javascript_wdio: "http://webdriver.io/api/mobile/touchPerform.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1531"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:single_tap"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
# Driver support by platform
driver_support:
ios:
xcuitest: true
uiautomation: true
android:
uiautomator2: true
uiautomator: true
mac:
mac: true # TODO Confirm this that mouse movements
windows:
windows: true # TODO Confirm this
client_support:
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
endpoint:
url: /session/:session_id/touch/click
method: POST
url_parameters:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- name: element
type: number
description: ID of the element to double tap on
# Links to specifications. Should link to at least one specification
specifications:
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchclick

View File

@@ -29,7 +29,7 @@ example_usage:
javascript_wdio:
|
driver.touchPerform([
driver.touchMultiPerform([
{ action: 'press', options: { x: 100, y: 250 }},
{ action: 'moveTo', options: { x: 300, y: 100 }},
{ action: 'release' }
@@ -47,7 +47,7 @@ example_usage:
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.tap_and_hold"
javascript_wdio: "http://webdriver.io/api/mobile/touchPerform.html"
javascript_wdio: "http://webdriver.io/api/mobile/touchMultiPerform.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1546"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/TouchActionBuilder#down-instance_method"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link

View File

@@ -29,7 +29,7 @@ example_usage:
javascript_wdio:
|
driver.touchPerform([
driver.touchMultiPerform([
{ action: 'press', options: { x: 100, y: 250 }},
{ action: 'moveTo', options: { x: 300, y: 100 }},
{ action: 'release' }
@@ -47,7 +47,7 @@ example_usage:
client_docs:
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#up-int-int-"
python: "https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.release"
javascript_wdio: "http://webdriver.io/api/mobile/touchPerform.html"
javascript_wdio: "http://webdriver.io/api/mobile/touchMultiPerform.html"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1546"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:up"
php: "https://github.com/appium/php-client/" # TODO PHP documentation link

View File

@@ -37,23 +37,23 @@ client_docs:
# Driver support by platform
driver_support:
ios:
xcuitest: false
uiautomation: false
xcuitest: true
uiautomation: true
android:
uiautomator2: false
uiautomator: false
uiautomator2: true
uiautomator: true
mac:
mac: false
mac: true
windows:
windows: false
windows: true
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -2,6 +2,13 @@
name: Take Screenshot
short_description: Take a screenshot of the current viewport/window/page
description:
|
Takes a screenshot of the viewport in a native context (iOS, Android) and takes a screenshot of the window in web context
Note that some platforms may have settings that prevent screenshots from being taken, for security reason. One such feature is
the [Android FLAG_SECURE layout parameter](https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SECURE)
example_usage:
java:
|

View File

@@ -4,7 +4,7 @@ short_description: Configure the amount of time that a particular type of operat
description:
|
The types of timeouts are 'page load', 'script' and 'implicit'. (The example usage is just 'page load')
The types of timeouts are 'page load', ['script'](/docs/en/commands/session/async-script.md) and ['implicit'](/docs/en/commands/session/implicit.md). (The example usage is just 'page load')
example_usage:
java:
@@ -22,7 +22,7 @@ example_usage:
driver.timeouts('pageLoad', 5000)
ruby:
|
@driver.implicit_wait(5) # Ruby translates it to seconds
@driver.page_load(5) # Ruby translates it to seconds
php:
|
// TODO PHP sample
@@ -35,7 +35,7 @@ client_docs:
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.set_page_load_timeout"
javascript_wdio: "http://webdriver.io/guide/testrunner/timeouts.html#Selenium-timeouts"
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L714"
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Timeouts:implicit_wait="
ruby: "http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Timeouts:page_load="
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -51,13 +51,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -1,6 +1,6 @@
---
name: Go Back
short_description: Navigate backwards in the browser history, if possible
short_description: Navigate backwards in the browser history, if possible (Web context only)
example_usage:
java:

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -50,13 +50,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints
@@ -67,7 +67,8 @@ endpoint:
- name: session_id
description: ID of the session to route the command to
json_parameters:
- type: object
- name: cookie
type: object
description: The cookie to add
# Links to specifications. Should link to at least one specification

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -51,13 +51,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -51,13 +51,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -49,13 +49,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -49,13 +49,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -49,13 +49,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -47,13 +47,13 @@ driver_support:
windows:
windows: false
client_support:
java: false
python: false
ruby: false
php: false
csharp: false
javascript_wd: false
javascript_wdio: false
java: true
python: true
ruby: true
php: true
csharp: true
javascript_wd: true
javascript_wdio: true
# Information about the HTTP endpoints

View File

@@ -106,6 +106,7 @@ async function main () {
const commands = path.resolve(__dirname, 'commands/**/*.yml');
console.log('Traversing YML files', commands);
await fs.rimraf(path.resolve(__dirname, '..', 'docs', 'en', 'commands'));
let fileCount = 0;
for (let filename of await fs.glob(commands)) {
console.log('Rendering file:', filename, path.relative(__dirname, filename), path.extname(filename));
@@ -127,7 +128,10 @@ async function main () {
console.log('Writing file to:', outfile);
await mkdirp(path.dirname(outfile));
await fs.writeFile(outfile, markdown, 'utf8');
fileCount++;
}
console.log(`Done writing ${fileCount} command documents`);
}
asyncify(main);

View File

@@ -135,7 +135,7 @@ None
{{#if endpoint.json_parameters}}
|name|type|description|
|----|-----------|
|----|----|-----------|
{{#each endpoint.json_parameters}}
| {{{this.name}}} | `{{{this.type}}}` | {{{this.description}}} |
{{/each}}

View File

@@ -1,105 +0,0 @@
# Is Device Locked
Check whether the device is locked or not
## Example Usage
```java
// Java
boolean isLocked = driver.isLocked();
```
```python
# Not supported
```
```javascript
// Javascript
// webdriver.io example
driver.isLocked();
// wd example
let isLocked = await driver.isLocked();
```
```ruby
# Ruby
@driver.device_locked()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/android/LocksAndroidDevice.html#isLocked--)
* [Javascript (WebdriverIO)](http://webdriver.io/api/mobile/isLocked.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L2407)
* [Ruby](http://www.rubydoc.info/github/appium/ruby_lib/Appium/Core/Device:device_locked%3F)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/device/is_locked`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
True if the device is locked, false if not (boolean)
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L313)

View File

@@ -1,107 +0,0 @@
# Lock
Lock the device
## Example Usage
```java
// Java
driver.lockDevice();
```
```python
# Python
self.driver.lock();
```
```javascript
// Javascript
// webdriver.io example
driver.lock();
// wd example
await driver.lock();
```
```ruby
# Ruby
@driver.lock()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/android/LocksAndroidDevice.html#lockDevice--)
* [Python](https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L643)
* [Javascript (WebdriverIO)](http://webdriver.io/api/mobile/lock.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L2363)
* [Ruby](https://github.com/appium/ruby_lib/blob/master/lib/appium_lib/core/common/command.rb#L37)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/device/lock`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
null
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L307)

View File

@@ -1,116 +0,0 @@
# Shake
Perform a shake action on the device
## Example Usage
```java
// Java
driver.shake();
```
```python
# Python
self.driver.shake();
```
```javascript
// Javascript
// webdriver.io example
driver.shake();
// wd example
await driver.shake();
```
```ruby
# Ruby
@driver.shake()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Description
This functionality is only available from within a mobile context
'Touch Perform' works similarly to the other singular touch interactions, except that this allows you to chain together more than one touch action as one
command. This is useful because Appium commands are sent over the network and there's latency between commands. This latency can make certain touch
interactions impossible because some interactions need to be performed in one sequence. Vertical, for example, requires pressing down, moving to a different
y coordinate, and then releasing. For it to work, there can't be a delay between the interactions.
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/ios/ShakesDevice.html#shake--)
* [Python](https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L655)
* [Javascript (WebdriverIO)](http://webdriver.io/api/mobile/shake.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L2342)
* [Ruby](http://www.rubydoc.info/github/appium/ruby_lib/Appium/Core/Device:shake)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/device/shake`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
null
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L292)

View File

@@ -1,109 +0,0 @@
# Unlock
Unlock the device
## Example Usage
```java
// Java
driver.lock();
driver.unlockDevice();
```
```python
# Python
self.driver.lock();
self.driver.unlock();
```
```javascript
// Javascript
// webdriver.io example
driver.lock()
.unlock();
// wd example
await driver.lock();
await driver.unlock();
```
```ruby
# Not supported
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/android/UnlocksAndroidDevice.html#unlockDevice--)
* [Javascript (WebdriverIO)](http://webdriver.io/api/mobile/unlock.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L2386)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/device/unlock`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
null
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L310)

View File

@@ -1,104 +0,0 @@
# Get Performance Data
Returns the information of the system state which is supported to read as like cpu, memory, network traffic, and battery
## Example Usage
```java
// Java
List<String> performanceTypes = driver.getSupportedPerformanceDataTypes;
```
```python
# Not supported
```
```javascript
// Not supported
// Not supported
```
```ruby
# Ruby
@driver.get_performance_data()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--)
* [Ruby](https://github.com/appium/ruby_lib/blob/master/lib/appium_lib/core/common/command.rb#L59)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | None | None | None |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | None | None | None |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | None | None | None |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/getPerformanceData`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
|name|type|description|
|----|----|-----------|
| package_name | string | The package name of the application |
| data_type | string | The type of system state which wants to read. It should be one of the supported performance data types. |
| data_read_timeout | number | The number of attempts to read |
### Response
null
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L322)

View File

@@ -1,100 +0,0 @@
# Get Performance Data Types
Returns the information types of the system state which is supported to read as like cpu, memory, network traffic, and battery
## Example Usage
```java
// Java
List<String> performanceTypes = driver.getSupportedPerformanceDataTypes;
```
```python
# Not supported
```
```javascript
// Not supported
// Not supported
```
```ruby
# Ruby
@driver.get_performance_data_types()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](http://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--)
* [Ruby](http://www.rubydoc.info/github/appium/ruby_lib/Appium/Android/Device:get_performance_data_types)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | None | None | None |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | None | None | None |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | None | None | None |
| Windows | [Windows](/docs/en/drivers/windows.md) | None | None | None |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/appium/performanceData/types`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
The available performance data types (cpuinfo|batteryinfo|networkinfo|memoryinfo) (array<string>)
## See Also
* [JSONWP Specification](https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L322)

View File

@@ -1,128 +0,0 @@
# Tap
Finger move on the screen
## Example Usage
```java
// Java
TouchActions action = new TouchActions(driver);
action.down(10, 10);
action.move(50, 50);
action.perform();
```
```python
# Python
actions = TouchActions(driver)
actions.tap_and_hold(element)
actions.move(50, 50)
actions.perform()
```
```javascript
// Javascript
// webdriver.io example
driver.touchPerform([
{ action: 'press', options: { x: 100, y: 250 }},
{ action: 'moveTo', options: { x: 300, y: 100 }},
{ action: 'release' }
]);
// wd example
// Using tapElement method
await driver.tapElement(elementOne);
// Using touch actions
let action = new wd.TouchAction();
action.press({x: 10, y: 10});
action.moveTo({x: 50, y: 50});
action.perform();
await driver.performTouchAction(action);
```
```ruby
# Ruby
@driver.touch_action.down(element).move().perform
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/touch/TouchActions.html#down-int-int-)
* [Python](https://seleniumhq.github.io/selenium/docs/api/py/webdriver/selenium.webdriver.common.touch_actions.html#selenium.webdriver.common.touch_actions.TouchActions.move)
* [Javascript (WebdriverIO)](http://webdriver.io/api/mobile/touchPerform.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L1531)
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:move)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/touch/move`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
|name|type|description|
|----|----|-----------|
| x | number | X coordinate on the screen |
| y | number | Y coordinate on the screen |
### Response
null
## See Also
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchmove)

View File

@@ -1,111 +0,0 @@
# Get Geolocation
Get the current geo location
## Example Usage
```java
// Java
Location location = driver.location(); // Must be a driver that implements LocationContext
```
```python
# Python
location = self.driver.location()
```
```javascript
// Javascript
// webdriver.io example
let location = driver.location();
// wd example
let location = await driver.sessionCapabilities('c8db88a0-47a6-47a1-802d-164d746c06aa');
```
```ruby
# Ruby
@driver.location()
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/html5/LocationContext.html#location--)
* [Python](http://selenium-python.readthedocs.io/api.html)
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/location.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L393)
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/DriverExtensions/HasLocation#set_location-instance_method)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`GET /session/:session_id/location`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
|name|type|description|
|----|----|-----------|
| latitude | number | The current geolocation latitude |
| longitude | number | The current geolocation longitude |
| altitude | number | The current geolocation altitude |
## See Also
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidlocation)

View File

@@ -1,107 +0,0 @@
# Get available log types
Get the log for a given log type. Log buffer is reset after each request
## Example Usage
```java
// Java
Set<String> logEntries = driver.getLogTypes();
```
```python
# Python
log_types = driver.log_types();
```
```javascript
// Javascript
// webdriver.io example
driver.log()
// wd example
const logTypes = await driver.logTypes();
```
```ruby
# Ruby
log_types = @driver.logTypes
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/logging/SessionLogs.html#getLogTypes--)
* [Python](http://selenium-python.readthedocs.io/api.html?highlight=get_log#selenium.webdriver.remote.webdriver.WebDriver.log_types)
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/logTypes.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L441)
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FRemote%2FOSS%2FBridge:available_log_types)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/log`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
None
### Response
The list of log types (array<string>)
## See Also
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidlogtypes)

View File

@@ -1,109 +0,0 @@
# Get Logs
Get the log for a given log type. Log buffer is reset after each request
## Example Usage
```java
// Java
LogEntries logEntries = driver.getLogs("driver");
```
```python
# Python
logs = driver.get_log('driver');
```
```javascript
// Javascript
// webdriver.io example
let logs = driver.log('driver')
// wd example
const logs = await driver.log('driver');
```
```ruby
# Ruby
@driver.logs('driver')
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/logging/SessionLogs.html#getLogTypes--)
* [Python](http://selenium-python.readthedocs.io/api.html?highlight=get_log#selenium.webdriver.remote.webdriver.WebDriver.get_log)
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/log.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L455)
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FTouchActionBuilder:scroll)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/log`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
|name|type|description|
|----|----|-----------|
| type | string | The log type |
### Response
The list of log entries (array<object>)
## See Also
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidtouchscroll)

View File

@@ -1,111 +0,0 @@
# Set Geolocation
Set the current geo location
## Example Usage
```java
// Java
driver.setLocation(new Location(49, 123, 10)); // Must be a driver that implements LocationContext
```
```python
# Python
self.driver.set_location(49, 123, 10)
```
```javascript
// Javascript
// webdriver.io example
driver.location({latitude: 121.21, longitude: 11.56, altitude: 94.23});
// wd example
let location = await driver.sessionCapabilities('c8db88a0-47a6-47a1-802d-164d746c06aa');
```
```ruby
# Ruby
@driver.set_location(121.21, 11.56, 94.23)
```
```php
# PHP
// TODO PHP sample
```
```csharp
// C#
// TODO C# sample
```
## Client Docs
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/html5/LocationContext.html#location--)
* [Python](http://selenium-python.readthedocs.io/api.html)
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/location.html)
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L407)
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FDriverExtensions%2FHasLocation:set_location)
* [PHP](https://github.com/appium/php-client/)
* [C#](https://github.com/appium/appium-dotnet-driver/)
## Support
### Appium Server
|Platform|Driver|Platform Versions|Appium Version|Driver Version|
|--------|----------------|------|--------------|--------------|
| iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All |
| | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All |
| Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All |
| | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All |
| Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All |
| Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All |
### Appium Clients
|Language|Support|
|--------|-------|
|[Java](https://github.com/appium/java-client/releases/latest)| All |
|[Python](https://github.com/appium/python-client/releases/latest)| All |
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All |
|[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All |
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All |
|[PHP](https://github.com/appium/php-client/releases/latest)| All |
|[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All |
## HTTP API Specifications
### Endpoint
`POST /session/:session_id/location`
### URL Parameters
|name|description|
|----|-----------|
|session_id|ID of the session to route the command to|
### JSON Parameters
|name|type|description|
|----|----|-----------|
| latitude | number | The current geolocation latitude |
| longitude | number | The current geolocation longitude |
| altitude | number | The current geolocation altitude |
### Response
null
## See Also
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#post-sessionsessionidlocation)

View File

@@ -76,6 +76,21 @@ module.exports = {
]],
]],
]],
["Session", ["session",
["Create", "create.md"],
["Delete", "delete.md"],
["Get Session Capabilities", "get.md"],
["Go Back", "back.md"],
["Screenshot", "screenshot.md"],
["Timeouts", ["timeouts",
["Timeout", "timeout.md"],
["Implicit Wait", "implicit-wait.md"],
["Async Script", "async-script.md"],
]],
["Other", ["other",
["Get Orientation", "get-orientation.md"],
]],
]],
["Element", ["element",
["Find Element", "find-element.md"],
["Find Elements", "find-elements.md"],