mirror of
https://github.com/appium/appium.git
synced 2026-05-05 09:59:58 -05:00
Add commands template and example commands (#9218)
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
# Active
|
||||
|
||||
Get the element on the page that currently has focus.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```java
|
||||
// Java
|
||||
driver.activeElement();
|
||||
```
|
||||
```python
|
||||
# Python example
|
||||
driver.active_element();
|
||||
```
|
||||
```javascript
|
||||
// webdriverio
|
||||
driver.elementActive();
|
||||
|
||||
// wd
|
||||
await driver.active();
|
||||
```
|
||||
```ruby
|
||||
# Ruby example
|
||||
@driver.active_element
|
||||
```
|
||||
```php
|
||||
# TODO
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
An in-depth description of the command. If this is a W3C command, you can copy and paste the W3C description here and make any amendments that would apply to Appium
|
||||
|
||||
## Code samples
|
||||
|
||||
Optional section. If the command is straightforward, no need to add samples, the example usage above is good enough. This is for important/complicated things like session creation, and touch actions.
|
||||
|
||||
## Client Docs
|
||||
|
||||
* [Java](http://seleniumhq.github.io/selenium/docs/api/java/index.html)
|
||||
* [Python](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.action_chains.ActionChains.click)
|
||||
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/status.html)
|
||||
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L1438)
|
||||
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#click-instance_method)
|
||||
* TODO: PHP
|
||||
|
||||
## 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-xcuitest.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 |
|
||||
| |[Espresso](/docs/en/drivers/android-espresso.md)| TBD | TBD |TBD
|
||||
|Windows|[Windows](/docs/en/drivers/windows.md)| 10+ | 1.6.0+ |All|
|
||||
|Mac|[Mac](/docs/en/drivers/mac.md)|?| 1.6.4+ |All|
|
||||
|Mac|None||||
|
||||
|
||||
### Appium Clients
|
||||
|
||||
|Language|Support|
|
||||
|--------|-------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)|All|
|
||||
|[Python](https://github.com/appium/python-client)|All|
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)|1.12.3|
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases)|None|
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)|All|
|
||||
|[PHP](https://github.com/appium/php-client/releases/latest)|All|
|
||||
|
||||
## HTTP API Specifications
|
||||
|
||||
### Endpoint
|
||||
|
||||
`POST /wd/hub/session/:session_id/element/active`
|
||||
|
||||
### URL Parameters
|
||||
|
||||
|name|description|
|
||||
|----|-----------|
|
||||
|:session_id|ID of the session to route the command to.|
|
||||
|
||||
### JSON Parameters
|
||||
|
||||
(none)
|
||||
|
||||
### Response
|
||||
|
||||
{Element:String} ID of the active element
|
||||
|
||||
## See also
|
||||
|
||||
## See Also
|
||||
|
||||
* [W3C Specification](https://www.w3.org/TR/webdriver/#status) Link to the w3c spec if there is one
|
||||
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick)
|
||||
@@ -0,0 +1,98 @@
|
||||
# Click
|
||||
|
||||
Click element at it's center point.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```java
|
||||
// Java
|
||||
MobileElement el = driver.findElementByAccessibilityId("SomeId");
|
||||
el.click();
|
||||
```
|
||||
```python
|
||||
# Python
|
||||
el = self.driver.find_element_by_accessibility_id('SomeId')
|
||||
el.click();
|
||||
```
|
||||
```javascript
|
||||
// Javascript
|
||||
// webdriver.io
|
||||
driver.click('#SomeId');
|
||||
|
||||
// wd (async/await)
|
||||
let element = await driver.elementByAccessibilityId('id', 'SomeId');
|
||||
await element.click();
|
||||
```
|
||||
```ruby
|
||||
@driver.find_element(:accessibility_id, 'SomeId').click
|
||||
```
|
||||
```php
|
||||
# TODO
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Clicks element at its center point. If the element's center point is obscured by another element, an element click intercepted error is returned. If the element is outside the viewport, an element not interactable error is returned.
|
||||
|
||||
Not all drivers automatically scroll the element into view and may need to be scrolled to in order to interact with it.
|
||||
|
||||
## Client Docs
|
||||
|
||||
* [Java](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--)
|
||||
* [Python](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.click)
|
||||
* [Javascript (WebdriverIO)](http://webdriver.io/api/action/click.html)
|
||||
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L1672)
|
||||
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#click-instance_method)
|
||||
* PHP (TODO)
|
||||
* C# (TODO)
|
||||
|
||||
## 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-xcuitest.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 |
|
||||
| |[Espresso](/docs/en/drivers/android-espresso.md)| TBD | TBD |TBD
|
||||
|Windows|[Windows](/docs/en/drivers/windows.md)| 10+ | 1.6.0+ |All|
|
||||
|Mac|[Mac](/docs/en/drivers/mac.md)|?| 1.6.4+ |All|
|
||||
|
||||
### Appium Clients
|
||||
|
||||
|Language|Support|
|
||||
|--------|-------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)|All|
|
||||
|[Python](https://github.com/appium/python-client)|All|
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)|All|
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases)|All|
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)|All|
|
||||
|[PHP](https://github.com/appium/php-client/releases/latest)|All|
|
||||
|
||||
## HTTP API Specifications
|
||||
|
||||
### Endpoint
|
||||
|
||||
`POST /wd/hub/session/:session_id/element/:element_id/click`
|
||||
|
||||
### URL Parameters
|
||||
|
||||
|name|description|
|
||||
|----|-----------|
|
||||
|session_id|UUID of Appium session|
|
||||
|element_id|UUID of the element being clicked on|
|
||||
|
||||
### JSON Parameters
|
||||
|
||||
None
|
||||
|
||||
### Response
|
||||
|
||||
`null`
|
||||
|
||||
## See Also
|
||||
|
||||
* [W3C Specification](https://www.w3.org/TR/webdriver/#element-click)
|
||||
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick)
|
||||
@@ -0,0 +1,96 @@
|
||||
# Status
|
||||
|
||||
Retrieve the server’s current status.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```java
|
||||
// Java
|
||||
// new Status(); // TODO: How to get status in Java
|
||||
```
|
||||
```python
|
||||
# Python
|
||||
# (not implemented)
|
||||
```
|
||||
```javascript
|
||||
// Javascript
|
||||
// webdriver.io
|
||||
driver.status();
|
||||
|
||||
// wd
|
||||
await driver.status();
|
||||
```
|
||||
```ruby
|
||||
# Ruby example
|
||||
```
|
||||
```php
|
||||
# PHP example
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
Returns information about whether a remote end is in a state in which it can create new sessions and can additionally include arbitrary meta information that is specific to the implementation.
|
||||
|
||||
The readiness state is represented by the ready property of the body, which is false if an attempt to create a session at the current time would fail. However, the value true does not guarantee that a New Session command will succeed.
|
||||
|
||||
Implementations may optionally include additional meta information as part of the body, but the top-level properties ready and message are reserved and must not be overwritten.
|
||||
|
||||
## Client Docs
|
||||
|
||||
* [Java](http://seleniumhq.github.io/selenium/docs/api/java/index.html)
|
||||
* [Python](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.utils.is_url_connectable)
|
||||
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/status.html)
|
||||
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L44)
|
||||
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/DriverExtensions/HasRemoteStatus#remote_status-instance_method)
|
||||
* TODO: PHP
|
||||
|
||||
## 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-xcuitest.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 |
|
||||
| |[Espresso](/docs/en/drivers/android-espresso.md)| TBD | TBD |TBD
|
||||
|Windows|[Windows](/docs/en/drivers/windows.md)| 10+ | 1.6.0+ |All|
|
||||
|Mac|[Mac](/docs/en/drivers/mac.md)|?| 1.6.4+ |All|
|
||||
|
||||
### Appium Clients
|
||||
|
||||
|Language|Support|
|
||||
|--------|-------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)|All|
|
||||
|[Python](https://github.com/appium/python-client)|All|
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)|All|
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases)|All|
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)|All|
|
||||
|[PHP](https://github.com/appium/php-client/releases/latest)|All|
|
||||
|
||||
## HTTP API Specifications
|
||||
|
||||
### Endpoint
|
||||
|
||||
`GET /wd/hub/status`
|
||||
|
||||
### URL Parameters
|
||||
|
||||
None
|
||||
|
||||
### JSON Parameters
|
||||
|
||||
None
|
||||
|
||||
### Response
|
||||
|
||||
|Key|Type|Value|
|
||||
|---|----|----|
|
||||
|build.version|string|A generic release label (i.e. "2.0rc3")|
|
||||
|build.revision|string|The revision of the local source control client from which the server was built|
|
||||
|
||||
## See Also
|
||||
|
||||
* [W3C Specification](https://www.w3.org/TR/webdriver/#status)
|
||||
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#status)
|
||||
@@ -0,0 +1,114 @@
|
||||
# Template <Name of Command>
|
||||
|
||||
A brief description of the command.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```java
|
||||
// Java example
|
||||
```
|
||||
```python
|
||||
# Python example
|
||||
```
|
||||
```javascript
|
||||
// Javascript
|
||||
// webdriver.io example
|
||||
driver.status();
|
||||
|
||||
// wd example
|
||||
await driver.status();
|
||||
```
|
||||
```ruby
|
||||
# Ruby example
|
||||
```
|
||||
```php
|
||||
# PHP example
|
||||
```
|
||||
|
||||
## Description
|
||||
|
||||
An in-depth description of the command. If this is a W3C command, you can copy and paste the W3C description here and make any amendments that would apply to Appium
|
||||
|
||||
## Code samples
|
||||
|
||||
Optional section. If the command is straightforward, no need to add samples, the example usage above is good enough. This is for important/complicated things like session creation, and touch actions.
|
||||
|
||||
## Client Docs
|
||||
|
||||
* [Java](http://seleniumhq.github.io/selenium/docs/api/java/index.html)
|
||||
* [Python](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.action_chains.ActionChains.click)
|
||||
* [Javascript (WebdriverIO)](http://webdriver.io/api/protocol/status.html)
|
||||
* [Javascript (WD)](https://github.com/admc/wd/blob/master/lib/commands.js#L1438)
|
||||
* [Ruby](http://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#click-instance_method)
|
||||
* TODO: PHP
|
||||
|
||||
## 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-xcuitest.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 |
|
||||
| |[Espresso](/docs/en/drivers/android-espresso.md)| TBD | TBD |TBD
|
||||
|Windows|[Windows](/docs/en/drivers/windows.md)| 10+ | 1.6.0+ |All|
|
||||
|Mac|[Mac](/docs/en/drivers/mac.md)|?| 1.6.4+ |All|
|
||||
|Mac|None||||
|
||||
|
||||
### Appium Clients
|
||||
|
||||
|Language|Support|
|
||||
|--------|-------|
|
||||
|[Java](https://github.com/appium/java-client/releases/latest)|All|
|
||||
|[Python](https://github.com/appium/python-client)|All|
|
||||
|[Javascript (WebdriverIO)](http://webdriver.io/index.html)|1.12.3|
|
||||
|[Javascript (WD)](https://github.com/admc/wd/releases)|None|
|
||||
|[Ruby](https://github.com/appium/ruby_lib/releases/latest)|All|
|
||||
|[PHP](https://github.com/appium/php-client/releases/latest)|All|
|
||||
|
||||
## HTTP API Specifications
|
||||
|
||||
### Endpoint
|
||||
|
||||
`POST /wd/hub/path/to/endpoint`
|
||||
|
||||
### URL Parameters
|
||||
|
||||
|name|description|
|
||||
|----|-----------|
|
||||
|field_name_1|Description of field_name_1|
|
||||
|field_name_2|Description of field_name_2|
|
||||
|
||||
or
|
||||
|
||||
(none)
|
||||
|
||||
### JSON Parameters
|
||||
|
||||
|name|description|
|
||||
|----|-----------|
|
||||
|field_name_1|Description of field_name_1|
|
||||
|field_name_2|Description of field_name_2|
|
||||
|
||||
or
|
||||
|
||||
(none)
|
||||
|
||||
### Response
|
||||
|
||||
|name|type|description|
|
||||
|----|----|-----------|
|
||||
|field_name_1|number|Description of field_name_1|
|
||||
|field_name_2|number|Description of field_name_2|
|
||||
|object.key1|string|Description of key1|
|
||||
|object.key2|string|Description of key2|
|
||||
|
||||
## Specifications
|
||||
|
||||
|
||||
## See Also
|
||||
|
||||
* [W3C Specification](https://www.w3.org/TR/webdriver/#status) Link to the w3c spec if there is one
|
||||
* [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick)
|
||||
+8
-1
@@ -13,7 +13,14 @@ module.exports = {
|
||||
["Espresso (Android)", "android-espresso.md"],
|
||||
["Selendroid (Android)", "android-selendroid.md"],
|
||||
["Windows", "windows.md"],
|
||||
["Mac", "mac.md"]]],
|
||||
["Mac", "mac.md"],
|
||||
["UIAutomation (iOS)", "ios-uiautomation.md"]]],
|
||||
["Commands", ["commands",
|
||||
["Status", "status.md"],
|
||||
["Element", ["element",
|
||||
["Click", "click.md"]
|
||||
]]
|
||||
]],
|
||||
["Writing & Running Tests", ["writing-running-appium",
|
||||
["Running Tests", "running-tests.md"],
|
||||
["CLI Arguments", "server-args.md"],
|
||||
|
||||
Reference in New Issue
Block a user