mirror of
https://github.com/appium/appium.git
synced 2026-11-09 19:38:26 +08:00
Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
79223eeb8f | ||
|
|
5daabefd6c | ||
|
|
1a8ab8d796 | ||
|
|
4aaa200a86 | ||
|
|
5239fa79b8 | ||
|
|
ca3e601706 | ||
|
|
630a78bbed | ||
|
|
1995d295f6 | ||
|
|
81baa1ee86 | ||
|
|
49957a5d03 | ||
|
|
c7c9d3ab77 | ||
|
|
84a2d4582d | ||
|
|
ee847823ac | ||
|
|
d7a8608705 | ||
|
|
e82ac0a8c2 | ||
|
|
3cbe1b876a | ||
|
|
0e8beb7526 |
@@ -1,6 +1,2 @@
|
||||
coverage
|
||||
node_modules
|
||||
examples/javascript-wd
|
||||
packages/*/build/**/*
|
||||
**/*.min.js
|
||||
sample-code
|
||||
|
||||
@@ -1,14 +1,3 @@
|
||||
{
|
||||
"extends": "@appium/eslint-config-appium",
|
||||
"overrides": [
|
||||
{
|
||||
"files": "packages/fake-driver/**/*",
|
||||
"rules": { "require-await": "off" }
|
||||
},
|
||||
{ "files": "packages/support/**/*", "globals": { "BigInt": "readonly" } },
|
||||
{
|
||||
"files": "packages/*/test/**/*",
|
||||
"rules": { "func-names": "off" }
|
||||
}
|
||||
]
|
||||
"extends": "appium"
|
||||
}
|
||||
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
# Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
|
||||
# Visit https://fossa.com to learn more
|
||||
|
||||
version: 2
|
||||
cli:
|
||||
server: https://app.fossa.com
|
||||
fetcher: git
|
||||
project: github.com/appium/appium
|
||||
analyze:
|
||||
modules:
|
||||
- name: appium-monorepo
|
||||
type: npm
|
||||
target: .
|
||||
path: .
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: appium
|
||||
type: npm
|
||||
target: ./packages/appium
|
||||
path: ./packages/appium
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/base-driver'
|
||||
type: npm
|
||||
target: ./packages/base-driver
|
||||
path: ./packages/base-driver
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/doctor'
|
||||
type: npm
|
||||
target: ./packages/doctor
|
||||
path: ./packages/doctor
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: eslint-config-appium
|
||||
type: npm
|
||||
target: ./packages/eslint-config-appium
|
||||
path: ./packages/eslint-config-appium
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/fake-driver'
|
||||
type: npm
|
||||
target: ./packages/fake-driver
|
||||
path: ./packages/fake-driver
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/gulp-plugins'
|
||||
type: npm
|
||||
target: ./packages/gulp-plugins
|
||||
path: ./packages/gulp-plugins
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/support'
|
||||
type: npm
|
||||
target: ./packages/support
|
||||
path: ./packages/support
|
||||
options:
|
||||
strategy: node_modules
|
||||
- name: '@appium/test-support'
|
||||
type: npm
|
||||
target: ./packages/test-support
|
||||
path: ./packages/test-support
|
||||
options:
|
||||
strategy: node_modules
|
||||
@@ -28,6 +28,6 @@ If you are reporting a bug, _always_ include Appium logs!
|
||||
|
||||
Please remember that with sample code it's easier to reproduce the bug and it's much faster to fix it.
|
||||
|
||||
Please git clone https://github.com/appium/appium and from the `examples` directory, use one of your favourite languages and sample apps to reproduce the issue.
|
||||
Please git clone https://github.com/appium/appium and from the `sample-code` directory, use one of your favourite languages and sample apps to reproduce the issue.
|
||||
|
||||
In case a similar scenario is missing in examples, please submit a PR with one of the sample apps provided.
|
||||
In case a similar scenario is missing in sample-code, please submit a PR with one of the sample apps provided.
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
|
||||
|
||||
name: Node.js CI
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [12.x, 14.x, 16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
- run: |
|
||||
npm install
|
||||
npm test
|
||||
npm run install-fake-driver
|
||||
npm run e2e-test
|
||||
|
||||
fossa-scan:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Analyze with FOSSA
|
||||
run: |
|
||||
npm install
|
||||
curl https://raw.githubusercontent.com/fossas/fossa-cli/master/install.sh | sudo bash
|
||||
fossa analyze
|
||||
env:
|
||||
FOSSA_API_KEY: ${{secrets.FOSSA_API_KEY}}
|
||||
|
||||
generate_docs:
|
||||
needs: [build]
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: |
|
||||
npm install
|
||||
npm run generate-docs
|
||||
+14
-17
@@ -8,10 +8,10 @@ xcuserdata
|
||||
*.sublime-*
|
||||
test/functional/_joined
|
||||
*.iml
|
||||
!examples/java/*.iml
|
||||
!sample-code/java/*.iml
|
||||
*.autosave
|
||||
.idea/
|
||||
!examples/java/.idea/
|
||||
!sample-code/java/.idea/
|
||||
*.log
|
||||
*.t
|
||||
artifacts
|
||||
@@ -40,19 +40,16 @@ old
|
||||
.tern-project
|
||||
coverage
|
||||
docs/mkdocs.yml
|
||||
examples/javascript-wd/node_modules
|
||||
examples/php/vendor
|
||||
examples/php/composer.lock
|
||||
examples/java/out/
|
||||
examples/ruby/Gemfile.lock
|
||||
examples/python/test/results/
|
||||
examples/python/test/input
|
||||
examples/python/.pytest_cache/
|
||||
examples/csharp/test/bin
|
||||
examples/csharp/test/obj
|
||||
examples/csharp/test/bin
|
||||
examples/csharp/packages
|
||||
sample-code/javascript-wd/node_modules
|
||||
sample-code/php/vendor
|
||||
sample-code/php/composer.lock
|
||||
sample-code/java/out/
|
||||
sample-code/ruby/Gemfile.lock
|
||||
sample-code/python/test/results/
|
||||
sample-code/python/test/input
|
||||
sample-code/python/.pytest_cache/
|
||||
sample-code/csharp/test/bin
|
||||
sample-code/csharp/test/obj
|
||||
sample-code/csharp/test/bin
|
||||
sample-code/csharp/packages
|
||||
appium.zip
|
||||
.vscode/settings.json
|
||||
.nyc_output
|
||||
*.lerna_backup
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
require: require.resolve('./test/setup.js')
|
||||
};
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
language: node_js
|
||||
node_js: "10"
|
||||
os: linux
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-4.8
|
||||
- build-essential
|
||||
env:
|
||||
global:
|
||||
- CXX=g++-4.8
|
||||
cache:
|
||||
npm: false
|
||||
jobs:
|
||||
include:
|
||||
- stage: Tests
|
||||
name: node 10
|
||||
before_script: npm outdated || true
|
||||
script: npm run test && npm run e2e-test
|
||||
after_script: npm run coverage
|
||||
- stage:
|
||||
name: node 12
|
||||
before_script: npm outdated || true
|
||||
script: npm run test && npm run e2e-test
|
||||
node_js: "12"
|
||||
- stage:
|
||||
name: test documentation generation
|
||||
script: npm run generate-docs
|
||||
Vendored
+45
-49
@@ -1,50 +1,46 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"args": ["--colors", "--timeout", "0", "${file}"],
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"name": "Test - Current File",
|
||||
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
|
||||
"runtimeArgs": ["-r", "@babel/register"],
|
||||
"request": "launch",
|
||||
"skipFiles": ["<node_internals>/**"],
|
||||
"type": "pwa-node",
|
||||
"sourceMaps": true,
|
||||
"cwd": "${workspaceFolder}",
|
||||
"outfiles": [],
|
||||
"env": {
|
||||
"NODE_ENV": "test"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "Debug",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "integratedTerminal",
|
||||
"args": ["."]
|
||||
},
|
||||
{
|
||||
"name": "Attach Debug",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"port": 9229
|
||||
},
|
||||
{
|
||||
"name": "Test All",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/node_modules/.bin/_mocha",
|
||||
"args": [
|
||||
"--require",
|
||||
"@babel/register",
|
||||
"--timeout",
|
||||
"999999",
|
||||
"--colors",
|
||||
"${workspaceFolder}/packages/appium/test"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Debug",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"console": "integratedTerminal",
|
||||
"args": [
|
||||
"."
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Attach Debug",
|
||||
"type": "node",
|
||||
"request": "attach",
|
||||
"cwd": "${workspaceFolder}",
|
||||
"port": 9229
|
||||
},
|
||||
{
|
||||
"name": "Test All",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/node_modules/.bin/_mocha",
|
||||
"args": [
|
||||
"--require", "babel-core/register",
|
||||
"--timeout", "999999",
|
||||
"--colors",
|
||||
"${workspaceFolder}/test"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Test Current File",
|
||||
"type": "node",
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}/node_modules/.bin/_mocha",
|
||||
"args": [
|
||||
"--require", "babel-core/register",
|
||||
"--timeout", "999999",
|
||||
"--colors",
|
||||
"${file}"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
-150
@@ -1,150 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "build",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"label": "npm: build",
|
||||
"detail": "lerna exec gulp transpile"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/fake-driver",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/fake-driver",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=appium",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: appium",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/support",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/support",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/test-support",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/test-support",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/gulp-plugins",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/gulp-plugins",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/doctor",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/doctor",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "npm",
|
||||
"args": [
|
||||
"exec",
|
||||
"--",
|
||||
"lerna",
|
||||
"exec",
|
||||
"--scope=@appium/base-driver",
|
||||
"--",
|
||||
"gulp",
|
||||
"transpile"
|
||||
],
|
||||
"label": "transpile: @appium/base-driver",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"command": "node_modules/.bin/mocha",
|
||||
"args": [
|
||||
"--bail",
|
||||
"-r",
|
||||
"@babel/register",
|
||||
"-t",
|
||||
"20s",
|
||||
"packages/appium/test/*e2e-specs.js"
|
||||
],
|
||||
"label": "appium: E2E",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "dev",
|
||||
"problemMatcher": [],
|
||||
"isBackground": true,
|
||||
"label": "npm: dev",
|
||||
"detail": "lerna exec --parallel gulp dev"
|
||||
}
|
||||
]
|
||||
}
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = (wallaby) => {
|
||||
return {
|
||||
compilers: {
|
||||
'**/*.js': wallaby.compilers.babel(),
|
||||
},
|
||||
debug: true,
|
||||
env: {
|
||||
type: 'node',
|
||||
},
|
||||
files: [
|
||||
'./packages/**/*.js',
|
||||
'./packages/**/*.json',
|
||||
'!./packages/**/build/**',
|
||||
'!./packages/**/test/**/*-specs.js',
|
||||
'!./packages/*/node_modules/**',
|
||||
'!./packages/*/gulpfile.js',
|
||||
'./packages/*/test/**/fixtures/**/*',
|
||||
// below this are fixtures
|
||||
{
|
||||
binary: true,
|
||||
pattern: './packages/support/test/assets/sample_binary.plist',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/support/test/assets/sample_text.plist',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/base-driver/static/**/*',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/gulp-plugins/build/**/*',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './test/setup.js'
|
||||
}
|
||||
],
|
||||
testFramework: 'mocha',
|
||||
tests: [
|
||||
'./packages/*/test/**/*-specs.js',
|
||||
'!./packages/*/test/**/*-e2e-specs.js',
|
||||
'!./packages/*/node_modules/**',
|
||||
// this is more of an E2E test and it's tedious to run
|
||||
'!./packages/gulp-plugins/test/transpile-specs.js',
|
||||
],
|
||||
workers: {
|
||||
restart: true,
|
||||
},
|
||||
setup() {
|
||||
require('./test/setup');
|
||||
},
|
||||
runMode: 'onsave'
|
||||
};
|
||||
};
|
||||
+1
-155
@@ -1,157 +1,3 @@
|
||||
CHANGES IN VERSION 1.20.0 (FROM 1.19.1)
|
||||
===================================
|
||||
|
||||
Appium 1.20.0 is a minor release
|
||||
|
||||
### General
|
||||
* Does not destory sockets explicitly against a client [appium-base-driver#437](https://github.com/appium/appium-base-driver/pull/437)
|
||||
* Connection timeout to each driver respects `--keep-alive-timeout` configuration [appium-base-driver#443](https://github.com/appium/appium-base-driver/pull/443). Default to 10 minutes
|
||||
|
||||
### Android General
|
||||
* `InvalidContextError` error is thrown if running instrumentation process was dead
|
||||
* Fix Android emulator config paths on Windows [appium-adb#558](https://github.com/appium/appium-adb/pull/558)
|
||||
|
||||
### Android(UIAutomator2)
|
||||
* Appium adds `io.appium.settings`, `io.appium.uiautomator2.server` and `io.appium.uiautomator2.server.test` as the device's Doze whitelist to keep working [appium-uiautomator2-driver#420](https://github.com/appium/appium-uiautomator2-driver/pull/420)
|
||||
* Add settings:
|
||||
* `useResourcesForOrientationDetection` to use application resource propertires to determine the current device orientation [appium-uiautomator2-server#389](https://github.com/appium/appium-uiautomator2-server/pull/389)
|
||||
|
||||
### Android(Espresso)
|
||||
* Appium adds `io.appium.settings` and `io.appium.espressoserver.test` as the device's Doze whitelist to keep working [appium-espresso-driver#627](https://github.com/appium/appium-espresso-driver/pull/627)
|
||||
* Add `mobile:` extensions:
|
||||
* `uiautomatorPageSource` returns the page source dump by UIAutomator [appium-espresso-driver#628](https://github.com/appium/appium-espresso-driver/pull/628)
|
||||
* Improves XPath lookup performance [appium-espresso-driver#637](https://github.com/appium/appium-espresso-driver/pull/637)
|
||||
|
||||
### iOS General
|
||||
* Fix updating simulator preference method [appium-ios-simulator#298](https://github.com/appium/appium-ios-simulator/pull/298)
|
||||
|
||||
### iOS(XCUITest)
|
||||
* Support M1 chip based Mac, Xcode 12.3
|
||||
* Snapshots caching logic has been rewritten to improve lookup performance e.g. [WebDriverAgent#404](https://github.com/appium/WebDriverAgent/pull/404), [WebDriverAgent#407](https://github.com/appium/WebDriverAgent/pull/407)
|
||||
* Breaking changes
|
||||
* Support over Xcode 10.2, iOS 12.2 (Drop supporting Xcode 10.0 and 10.1)
|
||||
* `accessibility id`, `name` and `id` lookup strategies now find elements by `name`(`wdName`) attributes in page source: [WebDriverAgent#414](https://github.com/appium/WebDriverAgent/pull/414)
|
||||
* Previously, they found elements by `name`(`wdName`) and `value`(`wdValue`)
|
||||
* Please use `predicate` strategy to find `value`(`wdValue`) attribute like [this change](https://github.com/appium/ruby_lib_core/pull/282)
|
||||
* Add capabilities:
|
||||
* `resultBundlePath` and `resultBundleVersion` to allow to specify the path to the result bundle of WebDriverAgent xcodebuild [WebDriverAgent#410](https://github.com/appium/WebDriverAgent/pull/410)
|
||||
* `safariIgnoreWebHostnames` to provide a list of hostnames that the Safari automation tools should ignore [appium-xcuitest-driver#1258](https://github.com/appium/appium-xcuitest-driver/pull/
|
||||
1258)
|
||||
* `waitForIdleTimeout` (Please read the below settings section)
|
||||
* Add settings: (Please read [Settings API](http://appium.io/docs/en/advanced-concepts/settings/index.html) for more details)
|
||||
* `customSnapshotTimeout` which was renamed from `snapshotTimeout` sets how much time is allowed to resolve a single accessibility snapshot with custom attributes
|
||||
* `waitForIdleTimeout` to customize the time for waiting until the application under test is idling
|
||||
* The value `zero` (not recommended) is equal to `waitForQuiescence` to `false`
|
||||
* **Important**: this is still a workaround, so there is no guarantee it is going to always work. Please consider rather fixing your application source code, because XCTest uses idle intervals to send commands to the accessibility manager. You may get unexpected testing results or application crashes if such intervals don't exist or are too tiny.
|
||||
* `animationCoolOffTimeout` customize the timeout to wait until the application under test has no animation
|
||||
* Add a possibility to select elements by indexes [WebDriverAgent#417](https://github.com/appium/WebDriverAgent/pull/417)
|
||||
* Fix parsing SSL output from OpenSSL output [appium-xcuitest-driver#1256](https://github.com/appium/appium-xcuitest-driver/pull/1256)
|
||||
|
||||
### iOS(Safari)
|
||||
|
||||
This driver provides you to communicate with Apple's `safaridriver` binary via Appium.
|
||||
It only supports Safari browser automation on macOS and iOS (Simulator/Real Device).
|
||||
|
||||
Read https://github.com/appium/appium-safari-driver for more details.
|
||||
|
||||
### Mac2
|
||||
|
||||
This driver provides you to handle macOS native applications with Apple's `XCTest` framework.
|
||||
Read https://github.com/appium/appium-mac2-driver for more details.
|
||||
|
||||
### Gecko
|
||||
|
||||
This driver provides you to communicate with Firefox browsers on macOS, Windows, Linux and Android with geckodriver binary via Appium.
|
||||
Read https://github.com/appium/appium-geckodriver for more details to set the environment up.
|
||||
|
||||
CHANGES IN VERSION 1.19.1(FROM 1.19.0)
|
||||
===================================
|
||||
|
||||
Appium 1.19.1 is a patch release
|
||||
|
||||
### iOS(XCUITest)
|
||||
|
||||
Patches "missing target for targetId" bug in Safari tests (see [#14867](https://github.com/appium/appium/issues/14867))
|
||||
|
||||
CHANGES IN VERSION 1.19.0 (FROM 1.18.3)
|
||||
===================================
|
||||
|
||||
Appium 1.19.0 is a minor release
|
||||
|
||||
### Android General
|
||||
|
||||
* Add capabilities:
|
||||
* `allowDelayAdb` to prevent `-delay-adb` command line option to detect emulator startup [#14773](https://github.com/appium/appium/issues/14773)
|
||||
* Add `mobile:` functions:
|
||||
* `mobile:getContexts` to get WebView details [appium-android-driver#662](https://github.com/appium/appium-android-driver/pull/662)
|
||||
* Accept Web Authentication routes (they are part of W3C) [appium-base-driver#433](https://github.com/appium/appium-base-driver/pull/433)
|
||||
* Change to enable `ensureWebviewsHavePages` by default [appium-android-driver#652](https://github.com/appium/appium-android-driver/pull/652)
|
||||
* Change to close pending requests on the server side if the server is terminated [appium-base-driver#424](https://github.com/appium/appium-base-driver/pull/424)
|
||||
* Fix CPU performance data parsing [appium-android-driver#659](https://github.com/appium/appium-android-driver/pull/659)
|
||||
* Fix possible memory leak [appium-base-driver#430](https://github.com/appium/appium-base-driver/pull/430)
|
||||
* Fix responses to unexpected server errors [appium-base-driver#432](https://github.com/appium/appium-base-driver/pull/432)
|
||||
|
||||
### Android(UIAutomator2)
|
||||
|
||||
* Add `mobile:` functions:
|
||||
* `mobile:dragGesture`, `mobile:flingGesture`, `mobile:longClickGesture`, `mobile:pinchCloseGesture`, `mobile:pinchOpenGesture`, `mobile:swipeGesture` and `mobile:scrollGesture`: [Automating Mobile Gestures With UiAutomator2 Backend](https://appium.io/docs/en/writing-running-appium/android/android-mobile-gestures/)
|
||||
* Add css selector support [appium-uiautomator2-driver#410](https://github.com/appium/appium-uiautomator2-driver/pull/410)
|
||||
* `css selector` will be converted to `-android uiautomator` selector in UIAutomator2. Read [appium-uiautomator2-driver#410](https://github.com/appium/appium-uiautomator2-driver/pull/410) for more details.
|
||||
* Enhance XPath lookup performance [appium-uiautomator2-server#386](https://github.com/appium/appium-uiautomator2-server/pull/386)
|
||||
* Fix port guard logic to avoid port conflict [appium-uiautomator2-driver#409](https://github.com/appium/appium-uiautomator2-driver/pull/409)
|
||||
|
||||
### Android(Espresso)
|
||||
|
||||
* Raise `InvalidContextError` error when the app under test stops because of instrumentation process crashes (appium-espresso-driver#591)[https://github.com/appium/appium-espresso-driver/pull/591]
|
||||
* Add a possibility to allow JSON formatted string as `espressoBuildConfig` capability [appium-espresso-driver#609](https://github.com/appium/appium-espresso-driver/pull/609)
|
||||
* Add `mobile:` functions:
|
||||
* `mobile:registerIdlingResources`, `mobile:unregisterIdlingResources` and `mobile:listIdlingResources` to customize idling resources [appium-espresso-driver#597](https://github.com/appium/appium-espresso-driver/pull/597)
|
||||
* Add a custom exception description, which helps to debug issues when the application under test is not idling long enough [appium-espresso-driver#589](https://github.com/appium/appium-espresso-driver/pull/589)
|
||||
* The `com.google.android.material` dependency became optional [appium-espresso-driver#616](https://github.com/appium/appium-espresso-driver/pull/616)
|
||||
* `espressoBuildConfig` now allows to prevent custom dependencies for both categories: `additionalAppDependencies` and `additionalAndroidTestDependencies`. Please check [caps](https://appium.io/docs/en/writing-running-appium/caps/).
|
||||
* `mobile:navigateTo` requires `com.google.android.material`, so please add `"espressoBuildConfig": "{\"additionalAndroidTestDependencies\":[\"com.google.android.material:material:1.2.1\"]}"` as your capabilities if needed
|
||||
* Fix to exclude transitive dependencies of espresso-contrib[appium-espresso-driver#596](https://github.com/appium/appium-espresso-driver/pull/596)
|
||||
* Fix to be able to build with SDK 29 [appium-espresso-driver#604](https://github.com/appium/appium-espresso-driver/pull/604)
|
||||
|
||||
### iOS(general)
|
||||
|
||||
* Improve the performane of simulator state state checks [appium-ios-simulator#284](https://github.com/appium/appium-ios-simulator/pull/284)
|
||||
* Fix granting access to Calendar on Xcode 11.4 and later [appium-ios-simulator#288](https://github.com/appium/appium-ios-simulator/pull/288)
|
||||
* Adjust the decimal separator in the Simulator location setting script according to system locale settings [appium-ios-simulator#295](https://github.com/appium/appium-ios-simulator/pull/295)
|
||||
|
||||
### iOS(XCUITest)
|
||||
|
||||
* Add capabilities:
|
||||
* `simulatorDevicesSetPath` allows to set an alternative path to a Simulator devices set [appium-ios-simulator#290](https://github.com/appium/appium-ios-simulator/pull/290)
|
||||
* `allowProvisioningDeviceRegistration` adds `-allowProvisioningUpdates` and `-allowProvisioningDeviceRegistration` flag to the list of xcodebuild arguments [appium-xcuitest-driver#1241](https://github.com/appium/appium-xcuitest-driver/pull/1241)
|
||||
* Add mobile functions:
|
||||
* `mobile:resetPermission` to reset all previous allowed or denied permissions for the application under test. It requires Xcode 11.4 and later [https://github.com/appium/appium-xcuitest-driver#1239](https://github.com/appium/appium-xcuitest-driver/pull/1239), [WebDriverAgent#392](https://github.com/appium/WebDriverAgent/pull/392)
|
||||
* Add `velocity` argument for over Xcode 11.4 in `mobile:swipe` [appium#14793](https://github.com/appium/appium/pull/14793)
|
||||
* Enhance performance
|
||||
* e.g. improve taking snapshot to get elements [WebDriverAgent#393](https://github.com/appium/WebDriverAgent/pull/393)
|
||||
* Fix alert handling in some cases [WebDriverAgent#400](https://github.com/appium/WebDriverAgent/pull/400)
|
||||
|
||||
### Flutter
|
||||
|
||||
The version is `0.25`
|
||||
|
||||
### You.i Engine Driver
|
||||
|
||||
The version is `1.2.7`
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.18.2 and 1.18.3 (FROM 1.18.1)
|
||||
===================================
|
||||
|
||||
Appium 1.18.2 and 1.18.3 are patch releases
|
||||
|
||||
* Supports Xcode 12 + iOS 14
|
||||
|
||||
### iOS(XCUITest)
|
||||
* Allow to input text by send keys API without focus check for newer Xcode versions [WebDriverAgent#379](https://github.com/appium/WebDriverAgent/pull/379)
|
||||
* Add supports `xcrun xctrace` instead of `instruments` command for Xcode 12+ [appium-xcuitest-driver#1223](https://github.com/appium/appium-xcuitest-driver/pull/1223)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.18.1 (FROM 1.18.0)
|
||||
===================================
|
||||
|
||||
@@ -162,7 +8,7 @@ Appium 1.18.1 is a patch release
|
||||
* Fix to avoid a redundant Chromedriver download operation if a matching driver is already present [appium-chromedriver#186](https://github.com/appium/appium-chromedriver/pull/186)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Fix to return a proper response for missing route [appium/appium-uiautomator2-server#373](https://github.com/appium/appium-uiautomator2-server/pull/373)
|
||||
* Fix to return a proper response for missing route [appium/appium-uiautomator2-server#373](https://github.com/appium/appium-uiautomator2-server/pull/373)
|
||||
* Fix to allow double values as touch action coordinates [ appium/appium-uiautomator2-server#372](https://github.com/appium/appium-uiautomator2-server/pull/372)
|
||||
* Fix [#14586](https://github.com/appium/appium/issues/14586) which might affect XPath locators executed on elemetns, retrieved from nested lookup requests [appium/appium-uiautomator2-server#372](https://github.com/appium/appium-uiautomator2-server/pull/371)
|
||||
* A known issue in 1.18.0
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"@babel/preset-env",
|
||||
{
|
||||
"targets": {
|
||||
"node": "12"
|
||||
},
|
||||
"shippedProposals": true
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": ["source-map-support", "@babel/plugin-transform-runtime"],
|
||||
"comments": false,
|
||||
"sourceMaps": "both",
|
||||
"env": {
|
||||
"coverage": {
|
||||
"plugins": [
|
||||
[
|
||||
"istanbul",
|
||||
{
|
||||
"exclude": ["test", "build"]
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"test": {
|
||||
"retainLines": true,
|
||||
"comments": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,7 @@ const res = JSON.parse(childProcess.execSync('npm pack --dry-run --json --ignore
|
||||
|
||||
// List of files we are testing to make sure they are included in package
|
||||
const testFiles = [
|
||||
'npm-shrinkwrap.json', // Check that npm-shrinkwrap.json is being packed
|
||||
'LICENSE', // Check that license is included
|
||||
'build/lib/appium.js', // Sanity check that build files are being included by testing just one file
|
||||
];
|
||||
@@ -0,0 +1,25 @@
|
||||
const _ = require('lodash');
|
||||
const { asyncify } = require('asyncbox');
|
||||
const { fs, logger } = require('appium-support');
|
||||
const path = require('path');
|
||||
|
||||
const log = new logger.getLogger('ShrinkwrapValidator');
|
||||
|
||||
async function main () {
|
||||
const shrinkwrapPath = path.resolve('npm-shrinkwrap.json');
|
||||
if (!(await fs.exists(shrinkwrapPath))) {
|
||||
log.info('No shrinkwrap found. Skipping shrinkwrap check');
|
||||
return;
|
||||
}
|
||||
const shrinkwrap = JSON.parse(await fs.readFile(shrinkwrapPath));
|
||||
const backupShrinkwrap = JSON.parse(await fs.readFile(path.resolve('npm-shrinkwrap-backup.json')));
|
||||
log.info('Checking that pruned shrinkwrap is a subset of primary shrinkwrap');
|
||||
if (!_.isMatch(backupShrinkwrap, shrinkwrap)) {
|
||||
log.errorAndThrow('Pruned shrinkwrap (shrinkwrap with dev dependencies removed) is not a subset of the original npm-shrinkwrap.json');
|
||||
}
|
||||
log.info('Shrinkwrap check passed');
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
asyncify(main);
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '12.x'
|
||||
- script: npm install
|
||||
displayName: NPM install
|
||||
- script: |
|
||||
git remote add triager https://triager:$GITHUB_TOKEN@github.com/appium/appium
|
||||
git checkout -b $MINOR_BRANCH_NAME
|
||||
git status
|
||||
node ./ci-jobs/scripts/set-package-json-version
|
||||
rm -rf package-lock.json
|
||||
npm shrinkwrap
|
||||
git add .
|
||||
git commit -n -m "Set version to $(MINOR_BRANCH_NAME).0-rc.0"
|
||||
git push -u triager $MINOR_BRANCH_NAME
|
||||
displayName: Create branch
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
MINOR_BRANCH_NAME: $(MINOR_BRANCH_NAME)
|
||||
- script: |
|
||||
git tag $MINOR_BRANCH_NAME.0-rc.0
|
||||
git push --tags -u triager
|
||||
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
|
||||
npm publish --tag $(node ./ci-jobs/scripts/parse-tag)
|
||||
env:
|
||||
NPM_TOKEN: $(NPM_TOKEN)
|
||||
displayName: Tag and Publish
|
||||
|
||||
@@ -12,8 +12,15 @@ jobs:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '12.x'
|
||||
- script: npm install
|
||||
- script: npm ci || npm install # "npm ci" if shrinkwrap is present
|
||||
displayName: Install NPM Dependencies
|
||||
- script: |
|
||||
pushd node_modules/appium-webdriveragent
|
||||
carthage bootstrap --no-use-binaries
|
||||
cp Cartfile.resolved Carthage
|
||||
mkdir -p ./Resources/WebDriverAgent.bundle
|
||||
popd
|
||||
displayName: Fully build XCUITestDriver
|
||||
- script: npm run build
|
||||
displayName: npm run build
|
||||
- script: npm prune --production
|
||||
|
||||
+5
@@ -32,6 +32,9 @@ example_usage:
|
||||
context = current_context
|
||||
ruby_core:
|
||||
context = @driver.current_context
|
||||
php:
|
||||
|
|
||||
$context = $driver->context();
|
||||
csharp:
|
||||
|
|
||||
string Context = driver.Context;
|
||||
@@ -43,6 +46,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/doc/api.md"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_context-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_context-instance_method"
|
||||
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
|
||||
@@ -62,6 +66,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+9
-4
@@ -8,10 +8,10 @@ description:
|
||||
For information on the format of the context names, see the [get context
|
||||
documentation](/docs/en/commands/context/get-context.md).
|
||||
|
||||
[mobile command](/docs/en/commands/mobile-command.md)
|
||||
`mobile: getContexts` is available on iOS (XCUITest) and Android
|
||||
(UIAutomator2 and Espresso) to get more detailed contexts.
|
||||
|
||||
[mobile command](/docs/en/commands/mobile-command.md)
|
||||
`mobile: getContexts` is available on iOS (XCUITest) and Android
|
||||
(UIAutomator2 and Espresso) to get more detailed contexts.
|
||||
|
||||
For information on contexts, see Appium's [hybrid automation docs](/docs/en/writing-running-appium/web/hybrid.md).
|
||||
|
||||
example_usage:
|
||||
@@ -33,6 +33,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
context = @driver.available_contexts
|
||||
php:
|
||||
|
|
||||
$contexts = $driver->contexts();
|
||||
csharp:
|
||||
|
|
||||
List<string> AllContexts = new List<string>();
|
||||
@@ -48,6 +51,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/doc/api.md"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#available_contexts-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#available_contexts-instance_method"
|
||||
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
|
||||
@@ -67,6 +71,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+8
@@ -50,6 +50,12 @@ example_usage:
|
||||
@driver.set_context(webview)
|
||||
# ...
|
||||
@driver.set_context('NATIVE_APP')
|
||||
php:
|
||||
|
|
||||
$contexts = $driver->contexts();
|
||||
$driver->context($contexts[1]);
|
||||
// ...
|
||||
$driver->context('NATIVE_APP');
|
||||
csharp:
|
||||
|
|
||||
// Switch to specific webview
|
||||
@@ -69,6 +75,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/doc/api.md"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#set_context-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#set_context-instance_method"
|
||||
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
|
||||
@@ -88,6 +95,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.current_activity
|
||||
php:
|
||||
|
|
||||
$activity = $driver->currentActivity();
|
||||
csharp:
|
||||
|
|
||||
string activity = driver.CurrentActivity;
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2519"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_activity-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_activity-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.current_package
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
string package = driver.CurrentPackage;
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getcurrentpackage"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_package-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#current_package-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: false
|
||||
+6
@@ -24,6 +24,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.start_activity app_package: "com.example", app_activity: "ActivityName"
|
||||
php:
|
||||
|
|
||||
$driver->startActivity(array('appPackage' => 'com.example',
|
||||
'appActivity' => 'ActivityName'));
|
||||
csharp:
|
||||
|
|
||||
driver.StartActivity("com.example", "ActivityName");
|
||||
@@ -35,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2948"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#start_activity-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#start_activity-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -54,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -30,6 +30,9 @@ example_usage:
|
||||
|
|
||||
@driver.activate_app('com.apple.Preferences')
|
||||
@driver.activate_app('io.appium.android.apis')
|
||||
php:
|
||||
|
|
||||
// Supports only `mobile: queryAppState` for iOS, XCUITest
|
||||
csharp:
|
||||
|
|
||||
driver.activateApp('com.apple.Preferences');
|
||||
@@ -42,6 +45,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js" # TODO wd documentation link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#activate_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#activate_app-instance_method"
|
||||
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
|
||||
@@ -61,6 +65,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
-1
@@ -30,6 +30,9 @@ example_usage:
|
||||
|
|
||||
@driver.app_state('com.apple.Preferences')
|
||||
@driver.query_app_state('io.appium.android.apis') # `query_` prefix is also available
|
||||
php:
|
||||
|
|
||||
// Supports only `mobile: queryAppState` for iOS, XCUITest
|
||||
csharp:
|
||||
|
|
||||
// Supports only `mobile: queryAppState` for iOS, XCUITest
|
||||
@@ -41,6 +44,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js" # TODO wd documentation link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Base/Driver#app_state-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Base/Driver#app_state-instance_method"
|
||||
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
|
||||
@@ -60,6 +64,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -68,7 +73,7 @@ client_support:
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/app_state
|
||||
method: POST
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
+5
@@ -42,6 +42,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.background_app(10)
|
||||
php:
|
||||
|
|
||||
$driver->backgroundApp(10);
|
||||
csharp:
|
||||
|
|
||||
driver.BackgroundApp(10)
|
||||
@@ -53,6 +56,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2841"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#background_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#background_app-instance_method"
|
||||
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
|
||||
@@ -72,6 +76,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -20,6 +20,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.close_app
|
||||
php:
|
||||
|
|
||||
$driver->closeApp();
|
||||
csharp:
|
||||
|
|
||||
driver.CloseApp();
|
||||
@@ -31,6 +34,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2798"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#close_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#close_app-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -50,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -20,6 +20,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.end_coverage("Intent", "/path")
|
||||
php:
|
||||
|
|
||||
$driver->endTestCoverage('Intent', '/path');
|
||||
csharp:
|
||||
|
|
||||
driver.EndTestCoverage("Intent", "/path");
|
||||
@@ -31,6 +34,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#endcoverage"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#end_coverage-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#end_coverage-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -50,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: false
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -20,6 +20,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.app_strings("en")
|
||||
php:
|
||||
|
|
||||
$strings = $driver->appStrings();
|
||||
csharp:
|
||||
|
|
||||
Dictionary<string, object> appStrings = driver.GetAppStringDictionary("end", "/path/to/file");
|
||||
@@ -31,6 +34,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2916"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#app_strings-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#app_strings-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -50,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -25,6 +25,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.install_app('/Users/johndoe/path/to/app.apk')
|
||||
php:
|
||||
|
|
||||
$driver->installApp('/Users/johndoe/path/to/app.apk');
|
||||
csharp:
|
||||
|
|
||||
driver.InstallApp("/Users/johndoe/path/to/app.apk")
|
||||
@@ -36,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2540"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#install_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#install_app-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -55,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -25,6 +25,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.app_installed?('com.example.AppName')
|
||||
php:
|
||||
|
|
||||
$driver->isAppInstalled('com.example.AppName')
|
||||
csharp:
|
||||
|
|
||||
driver.IsAppInstalled("com.example.AppName");
|
||||
@@ -36,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2586"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#app_installed%3F-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#app_installed%3F-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -55,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -28,6 +28,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.launch_app
|
||||
php:
|
||||
|
|
||||
$driver->launchApp();
|
||||
csharp:
|
||||
|
|
||||
driver.LaunchApp();
|
||||
@@ -39,6 +42,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2798"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#launch_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#launch_app-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -58,6 +62,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -26,6 +26,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.remove_app('com.example.AppName')
|
||||
php:
|
||||
|
|
||||
$driver->removeApp('com.example.AppName');
|
||||
csharp:
|
||||
|
|
||||
driver.RemoveApp("com.example.AppName");
|
||||
@@ -37,6 +40,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2563"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#remove_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#remove_app-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -56,6 +60,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -20,6 +20,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.reset
|
||||
php:
|
||||
|
|
||||
$driver->reset();
|
||||
csharp:
|
||||
|
|
||||
driver.ResetApp();
|
||||
@@ -31,6 +34,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2827"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#reset-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#reset-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -50,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -30,6 +30,9 @@ example_usage:
|
||||
|
|
||||
@driver.terminate_app('com.apple.Preferences')
|
||||
@driver.terminate_app('io.appium.android.apis')
|
||||
php:
|
||||
|
|
||||
// Supports only `mobile: queryAppState` for iOS, XCUITest
|
||||
csharp:
|
||||
|
|
||||
// Supports only `mobile: queryAppState` for iOS, XCUITest
|
||||
@@ -41,6 +44,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js" # TODO wd documentation link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Base/Driver#terminate_app-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Base/Driver#terminate_app-instance_method"
|
||||
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
|
||||
@@ -60,6 +64,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -28,6 +28,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.finger_print 1
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
// CSharp Code here
|
||||
@@ -39,6 +42,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/appium/appium-android-driver/blob/d16c7161d92ab6f6c9cec3f22218219ac3659716/lib/commands/actions.js#L260"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device#finger_print-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device#finger_print-instance_method"
|
||||
php:
|
||||
csharp:
|
||||
|
||||
# Driver support by platform
|
||||
@@ -58,6 +62,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
-6
@@ -8,12 +8,6 @@ description:
|
||||
|
||||
(For iOS real devices)
|
||||
Apple security preferences require the WebDriverAgentRunner application to be in [foreground](https://github.com/appium/WebDriverAgent/issues/330) in order to be able to receive the system clipboard content. Otherwise an empty string is always returned. Consider using [Activate App](/docs/en/commands/device/app/activate-app.md) and [Background App](/docs/en/commands/device/app/background-app.md) to change the foreground application.
|
||||
Activate App command cannot launch the WebDriverAgent properly on some environments. It depends on XCTest framework by Apple. Then, you should launch the WebDriverAgent using its Springboard's application icon. Follow the example below.
|
||||
|
||||
1. Open springboard, `@driver.activate_app 'com.apple.springboard'`.
|
||||
2. Find the WDA icon with `@driver.find_element :accessibility_id, 'WebDriverAgentRunner-Runner'` (It should be visible on the screen) and click it.
|
||||
3. Call the get clipboard API.
|
||||
4. Open the application under test with the [Activate App](/docs/en/commands/device/app/activate-app.md).
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
@@ -36,6 +30,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_clipboard
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
// CSharp Code here
|
||||
@@ -51,6 +48,7 @@ client_docs:
|
||||
ruby_core:
|
||||
- android: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#get_clipboard-instance_method"
|
||||
- ios: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#get_clipboard-instance_method"
|
||||
php: "https://github.com/appium/php-client/releases/latest"
|
||||
csharp: "https://github.com/appium/appium" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -70,6 +68,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -27,6 +27,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.set_clipboard content: 'happy testing'
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
// CSharp Code here
|
||||
@@ -42,6 +45,7 @@ client_docs:
|
||||
ruby_core:
|
||||
- ios: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#set_clipboard-instance_method"
|
||||
- android: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#set_clipboard-instance_method"
|
||||
php: "https://github.com/appium/php-client/releases/latest"
|
||||
csharp: "https://github.com/appium/appium" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -61,6 +65,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+1
@@ -48,6 +48,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: false
|
||||
+1
@@ -48,6 +48,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: false
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.pull_file('/data/local/tmp/file.txt')
|
||||
php:
|
||||
|
|
||||
$data = $driver->pullFile('data/local/tmp/file.txt');
|
||||
csharp:
|
||||
|
|
||||
byte[] fileBase64 = driver.PullFile("/path/to/device/foo.bar");
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2665"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#pull_file-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#pull_file-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.pull_folder('/data/local/tmp/file.txt')
|
||||
php:
|
||||
|
|
||||
$folderBase64 = $driver->pullFolder($path);
|
||||
csharp:
|
||||
|
|
||||
byte[] folder = driver.PullFolder("/path/to/device");
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2688"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#pull_folder-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#pull_folder-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+10
-5
@@ -5,7 +5,7 @@ short_description: Place a file onto the device in a particular place
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.pushFile("/data/local/tmp/foo.bar", new File("/Users/johndoe/files/foo.bar"));
|
||||
driver.pushFile("/path/to/device/foo.bar", new File("/Users/johndoe/files/foo.bar"));
|
||||
python:
|
||||
|
|
||||
dest_path = '/data/local/tmp/test_push_file.txt'
|
||||
@@ -13,20 +13,23 @@ example_usage:
|
||||
self.driver.push_file(dest_path, base64.b64encode(data).decode('utf-8'))
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.pushFileToDevice('/data/local/tmp/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
await driver.pushFileToDevice('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
javascript_wdio:
|
||||
|
|
||||
let data = new Buffer("Hello World").toString('base64');
|
||||
driver.pushFile('/data/local/tmp/file.txt', data);
|
||||
ruby:
|
||||
|
|
||||
push_file('/data/local/tmp/foo.bar', File.read('path/to/file.png'))
|
||||
push_file('/path/to/device/foo.bar', File.read('path/to/file.png'))
|
||||
ruby_core:
|
||||
|
|
||||
@driver.push_file('/data/local/tmp/foo.bar', File.read('path/to/file.png'))
|
||||
@driver.push_file('/path/to/device/foo.bar', File.read('path/to/file.png'))
|
||||
php:
|
||||
|
|
||||
$driver->pushFile('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
csharp:
|
||||
|
|
||||
driver.PushFile("/data/local/tmp/foo.bar", new FileInfo("/Users/johndoe/files/foo.bar"))
|
||||
driver.PushFile("/path/to/device/foo.bar", new FileInfo("/Users/johndoe/files/foo.bar"))
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/PushesFiles.html#pushFile-java.lang.String-java.io.File-"
|
||||
@@ -35,6 +38,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2640"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#push_file-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#push_file-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -54,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.device_locked?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
bool isLocked = driver.IsLocked(); // Supported by IOSDriver & AndroidDriver
|
||||
@@ -33,6 +36,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2407"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#device_locked%3F-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#device_locked%3F-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -52,6 +56,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -25,6 +25,9 @@ example_usage:
|
||||
|
|
||||
@driver.lock
|
||||
@driver.lock(5) # lock 5 seconds
|
||||
php:
|
||||
|
|
||||
$driver->lock(5);
|
||||
csharp:
|
||||
|
|
||||
driver.Lock(); // Supported by IOSDriver & AndroidDriver
|
||||
@@ -36,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2363"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#lock-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#lock-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -55,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -12,6 +12,9 @@ example_usage:
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.rotateDevice(100, 100);
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.Rotate(new Dictionary<string, int> { { "x", 114 }, { "y", 198 }, { "duration", 5 }, { "radius", 3 }, { "rotation", 220 }, { "touchCount", 2 } });
|
||||
@@ -20,6 +23,7 @@ client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#rotate-org.openqa.selenium.DeviceRotation-"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#rotatedevice"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2470"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -39,6 +43,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.shake
|
||||
php:
|
||||
|
|
||||
$driver->shake();
|
||||
csharp:
|
||||
|
|
||||
driver.ShakeDevice();
|
||||
@@ -33,6 +36,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2342"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#shake-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#shake-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/iOS/IOSDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -52,6 +56,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -25,6 +25,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.unlock
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.Unlock(); // Supported by IOSDriver & AndroidDriver
|
||||
@@ -36,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2386"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#unlock-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#unlock-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -55,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+8
@@ -21,6 +21,12 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.hide_keyboard
|
||||
php:
|
||||
|
|
||||
$driver->hideKeyboard();
|
||||
$driver->hideKeyboard(array(
|
||||
'keyName' => 'Done'
|
||||
));
|
||||
csharp:
|
||||
|
|
||||
driver.HideKeyboard();
|
||||
@@ -32,6 +38,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2723"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#hide_keyboard-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#hide_keyboard-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+1
@@ -47,6 +47,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: false
|
||||
+5
@@ -23,6 +23,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.long_press_keycode(10)
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.LongPressKeyCode(WindowsKeyCode.Back);
|
||||
@@ -34,6 +37,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2478"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#long_press_keycode-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#long_press_keycode-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Windows/WindowsDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -53,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -23,6 +23,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.press_keycode(10)
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.PressKeyCode(WindowsKeyCode.Windows);
|
||||
@@ -34,6 +37,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2457"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#press_keycode-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#press_keycode-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Windows/WindowsDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -53,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.gsm_call(phone_number: '5551234567', action: :call)
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#gsmcall"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_call-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_call-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.gsm_signal :good
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#gsmsignal"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_signal-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_signal-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.gsm_voice :home
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#gsmvoice"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_voice-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#gsm_voice-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+1
@@ -47,6 +47,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.send_sms(phone_number: '555-123-4567', message: 'Hey lol')
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#sendsms"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#send_sms-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#send_sms-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -18,6 +18,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_flight_mode
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -28,6 +31,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2712"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#toggle_flight_mode-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#toggle_flight_mode-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -47,6 +51,7 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -24,6 +24,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_data
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -34,6 +37,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2771"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_data-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_data-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -53,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_location_services
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2758"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_location_services-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_location_services-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -29,6 +29,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_wifi
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -40,6 +43,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2738"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_wifi-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Device#toggle_wifi-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -59,6 +63,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_performance_data package_name: 'io.appium.android.apis', data_type: 'cpuinfo', data_read_timeout: 10
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// Not supported
|
||||
@@ -33,6 +36,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getperformancedata"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#get_performance_data-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#get_performance_data-instance_method"
|
||||
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
|
||||
@@ -52,6 +56,7 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_performance_data_types
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// Not supported
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getperformancedatatypes"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#get_performance_data_types-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#get_performance_data_types-instance_method"
|
||||
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
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
-1
@@ -26,6 +26,9 @@ example_usage:
|
||||
python:
|
||||
|
|
||||
self.driver.start_recording_screen()
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.StartRecordingScreen(
|
||||
@@ -45,6 +48,7 @@ client_docs:
|
||||
ruby_core:
|
||||
- android: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Android/Device#start_recording_screen-instance_method"
|
||||
ios: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Xcuitest/Device#start_recording_screen-instance_method"
|
||||
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
|
||||
@@ -64,6 +68,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -110,7 +115,7 @@ endpoint:
|
||||
- name: options.videoType
|
||||
type: string
|
||||
description: (iOS Only) The format of the screen capture to be recorded.
|
||||
Available formats are the output of `ffmpeg -codecs` such as `libx264` and `mpeg4`. Defaults to `mjpeg`.
|
||||
Available formats are the output of `ffmpeg -codecs` such as `libx264` and `mpeg4`. Defaults to `mpeg4`.
|
||||
- name: options.videoQuality
|
||||
type: string
|
||||
description: (iOS Only) The video encoding quality (low, medium, high, photo - defaults to medium).
|
||||
+5
@@ -24,6 +24,9 @@ example_usage:
|
||||
python:
|
||||
|
|
||||
self.driver.stop_recording_screen()
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.StopRecordingScreen();
|
||||
@@ -35,6 +38,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#stoprecordingscreen"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#stop_recording_screen-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#stop_recording_screen-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -54,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
-2
@@ -7,8 +7,6 @@ description:
|
||||
To enable this feature, the `allowTouchIdEnroll` desired capability must be set to true. When `allowTouchIdEnroll` is set to true
|
||||
the Simulator will be enrolled by default, and the 'Toggle Touch ID Enrollment' changes the enrollment state.
|
||||
|
||||
Another way to enable touch id is by using `mobile: enrollBiometric`. More info [here](https://github.com/appium/appium-xcuitest-driver#mobile-enrollbiometric).
|
||||
|
||||
This call will only work if the Appium process or its parent application (e.g., Terminal.app or Appium.app) has access to Mac OS accessibility in System Preferences > Security & Privacy > Privacy > Accessibility list
|
||||
|
||||
example_usage:
|
||||
@@ -30,6 +28,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_touch_id_enrollment
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
@@ -41,6 +42,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3150"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#toggle_touch_id_enrollment-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#toggle_touch_id_enrollment-instance_method"
|
||||
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
|
||||
@@ -60,6 +62,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
-1
@@ -40,6 +40,9 @@ example_usage:
|
||||
|
|
||||
@driver.touch_id(false) # Simulates a failed touch
|
||||
@driver.touch_id(true) # Simulates a passing touch
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.PerformTouchID(false); // Simulates a failed touch
|
||||
@@ -52,7 +55,8 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3133"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#touch_id-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Ios/Device#touch_id-instance_method"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/iOS/IOSDriver.cs"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/iOS/IOSDriver.cs"
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -71,6 +75,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+1
@@ -43,6 +43,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: true
|
||||
+5
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.open_notifications();
|
||||
php:
|
||||
|
|
||||
$driver->openNotifications();
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -32,6 +35,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3004"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#open_notifications-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#open_notifications-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -51,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -18,6 +18,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_system_bars
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
@@ -28,6 +31,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getsystembars"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#get_system_bars-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#get_system_bars-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -47,6 +51,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: true
|
||||
+5
@@ -24,6 +24,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.device_time
|
||||
php:
|
||||
|
|
||||
$time = $driver->getDeviceTime();
|
||||
csharp:
|
||||
|
|
||||
string result = driver.DeviceTime;
|
||||
@@ -35,6 +38,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3119"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#device_time-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#device_time-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -54,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").clear
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -35,6 +38,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1780"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:clear"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:clear"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -54,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -29,6 +29,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeId').click
|
||||
php:
|
||||
|
|
||||
$driver->byAccessibilityId('SomeId')->click();
|
||||
csharp:
|
||||
|
|
||||
MobileElement el = driver.FindElement(MobileByAccessibilityID("Some ID");
|
||||
@@ -45,6 +48,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1672"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#click-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#click-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -64,6 +68,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -28,6 +28,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").send_keys("Hello World!")
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$el->setText('Hello world!');
|
||||
csharp:
|
||||
|
|
||||
MobileElement el = driver.FindElement(MobileByAccessibilityID("Some ID");
|
||||
@@ -44,6 +48,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1700"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#send_keys-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#send_keys-instance_method"
|
||||
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
|
||||
@@ -63,6 +68,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -23,6 +23,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').attribute("content-desc")
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$name = $el->attribute('name');
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -36,6 +40,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1350"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FElement:attribute"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FElement:attribute"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -55,6 +60,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -29,6 +29,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:id, 'SomeId').css_value
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementById("SomeId");
|
||||
@@ -41,6 +44,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1447"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:css_value"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:css_value"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -60,6 +64,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -23,6 +23,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").displayed?
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$isDisplayed = $el->displayed();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -35,6 +39,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1370"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FElement:displayed%3F"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium%2FWebDriver%2FElement:displayed%3F"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
@@ -54,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").enabled?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -34,6 +37,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1386"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#enabled%3F-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#enabled%3F-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
@@ -53,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+1
@@ -37,6 +37,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -25,6 +25,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').location
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$location = $el->location();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -37,6 +41,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2175"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:location"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:location"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -56,6 +61,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -23,6 +23,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').tag_name
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -35,6 +38,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1336"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#tag_name-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#tag_name-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -54,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -18,6 +18,9 @@ example_usage:
|
||||
ruby:
|
||||
|
|
||||
// TODO Ruby sample
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
@@ -28,6 +31,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#getpageindex"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1336"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#tag_name-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -47,6 +51,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -27,6 +27,9 @@ example_usage:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.rect
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -37,6 +40,7 @@ client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/webdriver.html#getelementrect"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#rect-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#rect-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -56,6 +60,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -27,6 +27,9 @@ example_usage:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
@driver.replace_value element, 'some'
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
@@ -38,6 +41,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1832" # TODO JAvaScript documentation link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#replace_value-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#replace_value-instance_method"
|
||||
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
|
||||
@@ -57,6 +61,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -22,6 +22,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").selected?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -34,6 +37,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1402"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#selected%3F-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#selected%3F-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
@@ -53,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -25,6 +25,10 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').size
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$size = $el->size();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -37,6 +41,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2203"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:size"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element:size"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -56,6 +61,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
@@ -29,6 +29,10 @@ example_usage:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.text
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$text = $el->text();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByClassName("SomeClassName");
|
||||
@@ -41,6 +45,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1832"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#text-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Element#text-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -60,6 +65,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -26,6 +26,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID')
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
csharp:
|
||||
|
|
||||
AndroidElement elementOne = driver.FindElementByAccessibilityID("Some ID");
|
||||
@@ -38,6 +41,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L745"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/SearchContext:find_element"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/SearchContext:find_element"
|
||||
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
|
||||
@@ -57,6 +61,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -47,6 +47,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_elements(:accessibility_id, "~SomeAccessibilityID")
|
||||
php:
|
||||
|
|
||||
$els = $this->elements($this->using('accessibility id')->value('SomeAccessibilityID'));
|
||||
csharp:
|
||||
|
|
||||
IEnumerable<AppiumWebElement> elementsOne = driver.FindElementsByAccessibilityId("SomeAccessibilityID");
|
||||
@@ -59,6 +62,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L798"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/SearchContext:find_elements"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/SearchContext:find_elements"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -78,6 +82,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+6
-1
@@ -21,6 +21,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.switch_to.active_element
|
||||
php:
|
||||
|
|
||||
// TODO PHP example
|
||||
csharp:
|
||||
|
|
||||
IWebElement currentElement = driver.SwitchTo().ActiveElement();
|
||||
@@ -33,6 +36,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1934"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/TargetLocator#active_element-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/TargetLocator#active_element-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteTargetLocator.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -52,6 +56,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -60,7 +65,7 @@ client_support:
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/active
|
||||
method: "'GET'(W3C), 'POST'(JSONWP)"
|
||||
method: 'POST'
|
||||
response:
|
||||
- name: ELEMENT
|
||||
type: object
|
||||
+5
@@ -33,6 +33,9 @@ example_usage:
|
||||
element1 = @driver.find_element :class_name, "someClass"
|
||||
element2 = @driver.find_element :class_name, "someOtherClass"
|
||||
element1 == element2
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var elementOne = driver.FindElementByClassName("SomeClassName");
|
||||
@@ -46,6 +49,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1463"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#==-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#==-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
@@ -65,6 +69,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -30,6 +30,9 @@ example_usage:
|
||||
|
|
||||
element = @driver.find_element :class_name, "someClass"
|
||||
element.submit element
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByClassName("SomeClassName");
|
||||
@@ -42,6 +45,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1741"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#submit-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/0.0.28/Selenium/WebDriver/Element#submit-instance_method"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -61,6 +65,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -26,6 +26,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
# Ruby Code in ruby_lib_core here
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
driver.FindElementById("elementId").Click();
|
||||
@@ -38,6 +41,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/releases"
|
||||
ruby: "https://github.com/appium/ruby_lib/releases/latest"
|
||||
ruby_core: "https://github.com/appium/ruby_lib/releases/latest"
|
||||
php: "https://github.com/appium/php-client/releases/latest"
|
||||
csharp: "https://github.com/appium/appium" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -66,6 +70,7 @@ client_support:
|
||||
python:
|
||||
min: 2
|
||||
ruby: true # If true, means it supports all
|
||||
php: false # If false(y), means it is not supported
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
+5
@@ -138,6 +138,9 @@ example_usage:
|
||||
f2.create_pointer_up(:left)
|
||||
|
||||
@driver.perform_actions [f1, f2]
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
var inputDevice = new PointerInputDevice(PointerKind.Touch);
|
||||
@@ -157,6 +160,7 @@ client_docs:
|
||||
#javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L44"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/W3CActionBuilder"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/W3CActionBuilder"
|
||||
php: "https://github.com/jupeter/selenium-php-webdriver/blob/master/Webdriver/Common/ActionChains.php"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
@@ -176,6 +180,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -34,6 +34,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.action.move_to(element).click_and_hold.perform
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
Actions action = new Actions(driver);
|
||||
@@ -48,6 +51,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1625"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:click_and_hold"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:click_and_hold"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Interactions/Actions.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -67,6 +71,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -42,6 +42,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.action.click_and_hold(el).move_to(el, 10, 10).release.perform
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
Actions action = new Actions(driver);
|
||||
@@ -58,6 +61,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1645"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:release"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:release"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Interactions/Actions.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -77,6 +81,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+7
@@ -29,6 +29,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.action.move_to(element).click.perform
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
Actions action = new Actions(driver);
|
||||
@@ -36,6 +39,8 @@ example_usage:
|
||||
action.Click();
|
||||
action.Perform();
|
||||
|
||||
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/interactions/Actions.html#click--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.common.action_chains.ActionChains.click"
|
||||
@@ -43,6 +48,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1665"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Mouse:click"
|
||||
ruby_core: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Mouse: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
|
||||
@@ -62,6 +68,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
+5
@@ -29,6 +29,9 @@ example_usage:
|
||||
ruby_core:
|
||||
|
|
||||
@driver.action.move_to(element).double_click.perform
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
Actions action = new Actions(driver);
|
||||
@@ -43,6 +46,7 @@ client_docs:
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L1686"
|
||||
ruby: "https://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/ActionBuilder:double_click"
|
||||
ruby_core: "https://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/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Interactions/Actions.cs"
|
||||
|
||||
# Driver support by platform
|
||||
@@ -62,6 +66,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user