mirror of
https://github.com/appium/appium.git
synced 2026-11-11 04:23:55 +08:00
Compare commits
44
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a5d7bd84dd | ||
|
|
379cf64994 | ||
|
|
2b1ec777c0 | ||
|
|
7219f1256b | ||
|
|
831d21143d | ||
|
|
892f91928c | ||
|
|
67e41af8d4 | ||
|
|
439a75ce38 | ||
|
|
625da250fa | ||
|
|
5dbac38d86 | ||
|
|
c813f39791 | ||
|
|
dda355f65c | ||
|
|
e0cc59dd94 | ||
|
|
a568ba58d2 | ||
|
|
cfbce46cb2 | ||
|
|
f9d1849e1a | ||
|
|
be6a8adc7c | ||
|
|
1d3b4debab | ||
|
|
2067d69a5d | ||
|
|
1f6bdaf570 | ||
|
|
23cc85ae24 | ||
|
|
57f8e05f03 | ||
|
|
cf47698327 | ||
|
|
91ab4a6b3b | ||
|
|
8e017aaa15 | ||
|
|
6d3c3c9a4f | ||
|
|
58d96221ba | ||
|
|
40d4728519 | ||
|
|
044246bb84 | ||
|
|
029b35e990 | ||
|
|
959b098816 | ||
|
|
3a10b18dfb | ||
|
|
83989943bc | ||
|
|
619447214b | ||
|
|
a4a4d9aeab | ||
|
|
4bf6c6e8fc | ||
|
|
b0f1e56ede | ||
|
|
b0857eefb1 | ||
|
|
8efff6895e | ||
|
|
69eed603c3 | ||
|
|
f91c6b50aa | ||
|
|
46395d7c46 | ||
|
|
5a2cf8d1c4 | ||
|
|
281b3cfdeb |
+1
-7
@@ -1,8 +1,2 @@
|
||||
**/coverage/**
|
||||
**/node_modules/**
|
||||
examples/javascript-wd
|
||||
**/build/**
|
||||
**/*.min.js
|
||||
sample-code
|
||||
**/*.d.ts
|
||||
**/build-fixtures/**
|
||||
coverage
|
||||
|
||||
@@ -1,43 +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" }
|
||||
},
|
||||
{
|
||||
"files": "./packages/*/scripts/**/*.js",
|
||||
"parserOptions": {
|
||||
"sourceType": "script"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": "./packages/*/test/**/*.js",
|
||||
"rules": {
|
||||
"no-restricted-properties": [
|
||||
"error",
|
||||
{
|
||||
"object": "sinon",
|
||||
"property": "spy",
|
||||
"message": "Use `sandbox = sinon.createSandbox()` and `sandbox.spy()` instead. Don't forget to call `sandbox.restore()` in `afterEach`"
|
||||
},
|
||||
{
|
||||
"object": "sinon",
|
||||
"property": "stub",
|
||||
"message": "Use `sandbox = sinon.createSandbox()` and `sandbox.stub()` instead. Don't forget to call `sandbox.restore()` in `afterEach`"
|
||||
},
|
||||
{
|
||||
"object": "sinon",
|
||||
"property": "mock",
|
||||
"message": "Use `sandbox = sinon.createSandbox()` and `sandbox.mock()` instead. Don't forget to call `sandbox.restore()` in `afterEach`"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
"extends": "appium"
|
||||
}
|
||||
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
# Generated by FOSSA CLI (https://github.com/fossas/fossa-cli)
|
||||
# Visit https://fossa.com to learn more
|
||||
|
||||
version: 3
|
||||
|
||||
project:
|
||||
id: github.com/appium/appium
|
||||
name: appium
|
||||
|
||||
paths:
|
||||
exclude:
|
||||
- ./sample-code
|
||||
- '**/fixtures/**'
|
||||
- '**/demo/**'
|
||||
- '**/example/**'
|
||||
- '**/examples/**'
|
||||
|
||||
targets:
|
||||
only:
|
||||
- type: npm
|
||||
path: .
|
||||
- type: npm
|
||||
path: ./packages/appium
|
||||
- type: npm
|
||||
path: ./packages/base-driver
|
||||
- type: npm
|
||||
path: ./packages/doctor
|
||||
- type: npm
|
||||
path: ./packages/eslint-config-appium
|
||||
- type: npm
|
||||
path: ./packages/fake-driver
|
||||
- type: npm
|
||||
path: ./packages/gulp-plugins
|
||||
- type: npm
|
||||
path: ./packages/support
|
||||
- type: npm
|
||||
path: ./packages/test-support
|
||||
|
||||
revision:
|
||||
branch: 2.0
|
||||
@@ -8,7 +8,6 @@ Briefly describe the issue you are experiencing (or the feature you want to see
|
||||
* Last Appium version that did not exhibit the issue (if applicable):
|
||||
* Desktop OS/version used to run Appium:
|
||||
* Node.js version (unless using Appium.app|exe):
|
||||
* Npm or Yarn package manager:
|
||||
* Mobile platform/version under test:
|
||||
* Real device or emulator/simulator:
|
||||
* Appium CLI or Appium.app|exe:
|
||||
@@ -19,8 +18,8 @@ If necessary, describe the problem you have been experiencing in more detail.
|
||||
|
||||
## Link to Appium logs
|
||||
|
||||
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
||||
Do _NOT_ paste your full Appium logs here, as it will make this issue very long and hard to read!
|
||||
Create a [GIST](https://gist.github.com) which is a paste of your _full_ Appium logs, and link them here.
|
||||
Do _NOT_ paste your full Appium logs here, as it will make this issue very long and hard to read!
|
||||
If you are reporting a bug, _always_ include Appium logs!
|
||||
|
||||
|
||||
@@ -28,6 +27,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/sample-code and 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.
|
||||
|
||||
@@ -10,7 +10,6 @@ _Put an `x` in the boxes that apply_
|
||||
- [ ] Bugfix (non-breaking change which fixes an issue)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
|
||||
- [ ] Documentation Update (if none of the other choices apply)
|
||||
|
||||
## Checklist
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/sample-code/javascript-webdriverio"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "11:00"
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: npm
|
||||
directory: "/sample-code/javascript-wd"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "11:00"
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "11:00"
|
||||
open-pull-requests-limit: 10
|
||||
@@ -1,26 +0,0 @@
|
||||
# Configuration for Lock Threads - https://github.com/dessant/lock-threads
|
||||
|
||||
# Number of days of inactivity before a closed issue or pull request is locked
|
||||
daysUntilLock: 365
|
||||
|
||||
# Skip issues and pull requests created before a given timestamp. Timestamp must
|
||||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
|
||||
skipCreatedBefore: false
|
||||
|
||||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
|
||||
exemptLabels: []
|
||||
|
||||
# Label to add before locking, such as `outdated`. Set to `false` to disable
|
||||
lockLabel: false
|
||||
|
||||
# Comment to post before locking. Set to `false` to disable
|
||||
lockComment: >
|
||||
This thread has been automatically locked since there has not been
|
||||
any recent activity after it was closed. Please open a new issue for
|
||||
related bugs.
|
||||
|
||||
# Assign `resolved` as the reason for locking. Set to `false` to disable
|
||||
setLockReason: false
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
only: issues
|
||||
@@ -1,51 +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: Appium Build
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Test
|
||||
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 }}
|
||||
- name: Install latest npm
|
||||
run: npm install -g npm
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: Run unit tests
|
||||
run: npm run test:ci
|
||||
- name: Install @appium/fake-driver
|
||||
run: npm run install-fake-driver
|
||||
- name: Run E2E tests
|
||||
run: npm run e2e-test
|
||||
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: ESLint
|
||||
run: npm run lint
|
||||
|
||||
docs:
|
||||
name: Build Command Documentation
|
||||
needs: [test]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Install dependencies
|
||||
run: npm install
|
||||
- name: Generate docs
|
||||
run: npm run generate-docs
|
||||
@@ -1,21 +0,0 @@
|
||||
name: License Checks
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
jobs:
|
||||
fossa-check:
|
||||
name: Run FOSSA Analysis
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: '2.0'
|
||||
- name: fossa analyze
|
||||
run: |
|
||||
npm install
|
||||
curl -sS -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/fossa-cli/master/install-latest.sh | bash
|
||||
fossa analyze
|
||||
fossa test
|
||||
env:
|
||||
FOSSA_API_KEY: ${{secrets.FOSSA_API_KEY}}
|
||||
+2
-26
@@ -3,15 +3,14 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
package-lock.json
|
||||
sample-code
|
||||
*.trace
|
||||
xcuserdata
|
||||
*.sublime-*
|
||||
test/functional/_joined
|
||||
*.iml
|
||||
!examples/java/*.iml
|
||||
*.autosave
|
||||
.idea/
|
||||
!examples/java/.idea/
|
||||
*.log
|
||||
*.t
|
||||
artifacts
|
||||
@@ -25,36 +24,13 @@ lib/devices/android/bootstrap/target/
|
||||
.*~
|
||||
*~
|
||||
org.eclipse.ltk.core.refactoring.prefs
|
||||
/selendroid
|
||||
.appiumconfig*
|
||||
build/
|
||||
.idea
|
||||
*DerivedData
|
||||
__pycache__
|
||||
|
||||
# csharp
|
||||
*.pyc
|
||||
*.pdb
|
||||
.vs
|
||||
|
||||
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
|
||||
appium.zip
|
||||
.vscode/settings.json
|
||||
.nyc_output
|
||||
*.lerna_backup
|
||||
**/build-fixtures/**
|
||||
|
||||
|
||||
-12
@@ -1,12 +0,0 @@
|
||||
// @ts-check
|
||||
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
require: [
|
||||
require.resolve('./test/setup.js')
|
||||
],
|
||||
// forbids use of .only() in CI
|
||||
forbidOnly: Boolean(process.env.CI),
|
||||
color: true
|
||||
};
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
assets/
|
||||
submodules/
|
||||
test/
|
||||
coverage/
|
||||
commands-yml/
|
||||
docs/
|
||||
sample-code/
|
||||
|
||||
_vimrc_local.vim
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.*~
|
||||
.DS_Store
|
||||
.travis.yml
|
||||
*.log
|
||||
*.trace
|
||||
*.sublime-
|
||||
*.prefs
|
||||
@@ -1,4 +1,2 @@
|
||||
# Do not disable package-lock. Disabling package-lock also disables npm-shrinkwrap
|
||||
package-lock=true
|
||||
save-exact=true
|
||||
|
||||
package-lock=true
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
language: node_js
|
||||
sudo: false
|
||||
node_js:
|
||||
- "7"
|
||||
- "6"
|
||||
env:
|
||||
- CXX=g++-4.8
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-4.8
|
||||
script:
|
||||
- npm run generate-docs && npm run test && npm run e2e-test
|
||||
Vendored
-23
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"args": ["--colors", "--timeout", "0", "${file}"],
|
||||
"internalConsoleOptions": "openOnSessionStart",
|
||||
"name": "Test - Current File",
|
||||
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
|
||||
"runtimeArgs": ["--require", "@babel/register"],
|
||||
"request": "launch",
|
||||
"skipFiles": ["<node_internals>/**", "**/node_modules/mocha/**"],
|
||||
"type": "pwa-node",
|
||||
"sourceMaps": true,
|
||||
"cwd": "${workspaceFolder}",
|
||||
"outfiles": [],
|
||||
"env": {
|
||||
"NODE_ENV": "test",
|
||||
"BABEL_ENV": "test"
|
||||
},
|
||||
"autoAttachChildProcesses": true,
|
||||
}
|
||||
]
|
||||
}
|
||||
Vendored
-136
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"type": "npm",
|
||||
"script": "dev",
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
"problemMatcher": [],
|
||||
"label": "npm: dev",
|
||||
"detail": "lerna exec --parallel gulp dev",
|
||||
"isBackground": true,
|
||||
},
|
||||
{
|
||||
"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": "npm",
|
||||
"script": "test:e2e:appium",
|
||||
"problemMatcher": [],
|
||||
"label": "npm: test:e2e:appium",
|
||||
"detail": "e2e tests: appium"
|
||||
}
|
||||
]
|
||||
}
|
||||
-66
@@ -1,66 +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/**/test/**/*.spec.js',
|
||||
'!./packages/*/node_modules/**',
|
||||
'!./packages/*/gulpfile.js',
|
||||
'!./packages/*/scripts/**',
|
||||
'./packages/*/test/**/fixtures/**/*',
|
||||
'./packages/*/test/**/mocks.js',
|
||||
'./packages/*/test/helpers.js',
|
||||
'./babel.config.json',
|
||||
// below this are fixtures
|
||||
{
|
||||
binary: true,
|
||||
pattern: './packages/support/test/unit/assets/sample_binary.plist',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/support/test/unit/assets/sample_text.plist',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/base-driver/static/**/*',
|
||||
},
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './packages/gulp-plugins/build/**/*',
|
||||
},
|
||||
// this setup file is special
|
||||
{
|
||||
instrument: false,
|
||||
pattern: './test/setup.js'
|
||||
}
|
||||
],
|
||||
testFramework: 'mocha',
|
||||
tests: [
|
||||
'./packages/*/test/**/*-specs.js',
|
||||
'./packages/*/test/unit/**/*.spec.js',
|
||||
'!./packages/*/test/**/*-e2e-specs.js',
|
||||
'!./packages/*/test/e2e/**/*',
|
||||
'!./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'
|
||||
};
|
||||
};
|
||||
-847
@@ -1,848 +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)
|
||||
===================================
|
||||
|
||||
Appium 1.18.1 is a patch release
|
||||
|
||||
#### Android General
|
||||
* Fix to properly clean up forwarded ports if parallel sessions are running [appium-chromedriver#183](https://github.com/appium/appium-chromedriver/pull/183)
|
||||
* 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 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
|
||||
|
||||
CHANGES IN VERSION 1.18.0 (FROM 1.17.1)
|
||||
===================================
|
||||
|
||||
Appium 1.18.0 is a minor release
|
||||
|
||||
#### General
|
||||
* Add `score` attribute for ImageElement [appium-base-driver#396](https://github.com/appium/appium-base-driver/pull/396)
|
||||
* Add a route to be able to execute Chrome DevTools commands to downstream drivers [appium-base-driver#405](https://github.com/appium/appium-base-driver/pull/405)
|
||||
* e.g. Clients can send `/session/:sessionId/goog/cdp/execute` command to Chromedriver
|
||||
* Fix socket leak by handling connections in a shared pool [appium-base-driver#416](https://github.com/appium/appium-base-driver/pull/416)
|
||||
* Fix to encode filenames with UTF-8 while extracting `.ipa` packages [appium-base-driver#419](https://github.com/appium/appium-base-driver/pull/419)
|
||||
* The change fixes `.ipa` packages deployment that contain file names containing non-ASCII characters like [this issue](https://github.com/appium/appium/issues/14100)
|
||||
|
||||
#### Android General
|
||||
* Add capabilities:
|
||||
* `mockLocationApp` to make location mock configurable [appium-android-driver#632](https://github.com/appium/appium-android-driver/pull/632)
|
||||
* `logcatFormat`, `logcatFilterSpecs` to allow logcat output format customization [appium-adb#528](https://github.com/appium/appium-adb/pull/528)
|
||||
* `ignoreHiddenApiPolicyError` to ignore permission error when hidden api policy change happens [appium-adb#507](https://github.com/appium/appium-adb/pull/507)
|
||||
* Add `mobile:` functions:
|
||||
* `mobile: getDeviceTime` to get the device time [appium-android-driver#623](https://github.com/appium/appium-android-driver/pull/623)
|
||||
* `mobile: execEmuConsoleCommand` to send [emulator console commands](https://developer.android.com/studio/run/emulator-console) [appium-android-driver#517](https://github.com/appium/appium-adb/pull/517) [#630](https://github.com/appium/appium-android-driver/pull/630)
|
||||
* `mobile: deleteFile` to delete a file [appium-android-driver#634](https://github.com/appium/appium-android-driver/pull/634)
|
||||
* `mobile: startService` and `mobile: stopService` to start or stop services via [adb shell commands](https://stackoverflow.com/questions/7415997/how-to-start-and-stop-android-service-from-a-adb-shell) [appium-android-driver#647](https://github.com/appium/appium-android-driver/pull/647)
|
||||
* Add including native context log for getLog command [appium-android-driver#646](https://github.com/appium/appium-android-driver/pull/646)
|
||||
* Fix tapping by element coordinate [appium-android-driver#355](https://github.com/appium/appium-android-driver/pull/355)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Add capabilities:
|
||||
* `disableSuppressAccessibilityService` to control [FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES]((https://developer.android.com/reference/android/app/UiAutomation#FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES)) flag [appium-uiautomator2-driver#376](https://github.com/appium/appium-uiautomator2-driver/pull/376)
|
||||
waitForLaunch
|
||||
* `mjpegServerPort` to customize MJPEG server port [appium-uiautomator2-driver#386](https://github.com/appium/appium-uiautomator2-driver/pull/386)
|
||||
* Add `mobile:` functions:
|
||||
* `mobile: sensorSet` to set sensor [appium-uiautomator2-driver#378](https://github.com/appium/appium-uiautomator2-driver/pull/378)
|
||||
* `mobile: scroll` to allow to scroll action in some ways. Please read [appium-uiautomator2-driver](https://github.com/appium/appium-uiautomator2-driver/blob/master/lib/commands/general.js) for more details. [appium-uiautomator2-driver#385](https://github.com/appium/appium-uiautomator2-driver/pull/385)
|
||||
* `mobile: deepLink` to send deeplink command with `waitForLaunch` option to handle the wait for logic [appium-uiautomator2-driver#389](https://github.com/appium/appium-uiautomator2-driver/pull/389)
|
||||
* `mobile: viewportRect` to return view port rectangle [appium-uiautomator2-driver#404](https://github.com/appium/appium-uiautomator2-driver/pull/404)
|
||||
* Known issue
|
||||
* [#14586](https://github.com/appium/appium/issues/14586): [Root element fix](https://github.com/appium/appium-uiautomator2-server/pull/363) might affect XPath locators executed on elements, retrieved from nested lookup requests (the document root for such elements is now the element itself rather than a fake `hierarchy` root)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Add capabilities:
|
||||
* `disableSuppressAccessibilityService` to control [FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES]((https://developer.android.com/reference/android/app/UiAutomation#FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES)) flag [appium-espresso-driver#559](https://github.com/appium/appium-espresso-driver/pull/559)
|
||||
* `appLocale` to set [Locale](https://developer.android.com/reference/java/util/Locale) for [the target context](https://developer.android.com/reference/androidx/test/core/app/ApplicationProvider#getApplicationContext()) [appium-espresso-driver#580](https://github.com/appium/appium-espresso-driver/pull/580)
|
||||
* Add `mobile:` functions:
|
||||
* `mobile: sensorSet` to set sensor [appium-espresso-driver](https://github.com/appium/appium-espresso-driver/pull/560)
|
||||
|
||||
### iOS (XCUITest)
|
||||
* Add Xcode 12 beta and iOS 14 support
|
||||
* Add settings:
|
||||
* `boundElementsByIndex` for bounding strategy to lookup elements [WebDriverAgent#357](https://github.com/appium/WebDriverAgent/pull/357)
|
||||
* Add XCTest `mobile:` functions: [appium-xcuitest-driver#1205](https://github.com/appium/appium-xcuitest-driver/pull/1205). Please read [test code](https://github.com/appium/appium-xcuitest-driver/blob/master/test/functional/device/xctest-e2e-specs.js) as an example.
|
||||
* `mobile: runXCTest` to run XCTest bundle
|
||||
* `mobile: installXCTestBundle` to install the xctest bundle
|
||||
* `mobile: listXCTestBundles` to get list of xctests within bundle
|
||||
* `mobile: listXCTestsInTestBundle` to return the list of XCTest bundles
|
||||
* Add audio recording for simulators and real devices [appium-xcuitest-driver#1207](https://github.com/appium/appium-xcuitest-driver/pull/1207)
|
||||
* Read [Audio Capture From iOS Simulators and Real Devices](https://appium.io/docs/en/writing-running-appium/ios/audio-capture/)
|
||||
* Add prebuilt WebDriverAgentRunner snapshots to speed up tests execution on iOS Simulator in `appium-webdriveragend` npm package [WebDriverAgent#331](https://github.com/appium/WebDriverAgent/pull/331)
|
||||
* The path is `appium/node_modules/appium-webdriveragend/WebDriverAgentRunner-Runner.app.zip`
|
||||
* The usage is:
|
||||
```bash
|
||||
idb install /WebDriverAgentRunner-Runner.app --udid <device-udid>
|
||||
idb launch com.facebook.WebDriverAgentRunner.xctrunner
|
||||
```
|
||||
* Fix a memory leak by removing unnecessary dependencies [WebDriverAgent#348](https://github.com/appium/WebDriverAgent/pull/348) [WebDriverAgent#350](https://github.com/appium/WebDriverAgent/pull/350) [WebDriverAgent#351](https://github.com/appium/WebDriverAgent/pull/351)
|
||||
* Fix respecting `webDriverAgentUrl` in favor of `wdaLocalPort` and `wdaBaseUrl` for real devices [WebDriverAgent#342](https://github.com/appium/WebDriverAgent/pull/342)
|
||||
* Fix ignoring the case where process locking the socket is not alive [WebDriverAgent#339](https://github.com/appium/WebDriverAgent/pull/339)
|
||||
* Fix to improve alert buttons detection [WebDriverAgent#322](https://github.com/appium/WebDriverAgent/pull/322)
|
||||
|
||||
### Windows
|
||||
* Add video recording [appium-windows-driver#66](https://github.com/appium/appium-windows-driver/pull/66)
|
||||
* Add findByImage [appium-windows-driver#67](https://github.com/appium/appium-windows-driver/pull/67)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.17.1 (FROM 1.17.0)
|
||||
===================================
|
||||
|
||||
Appium 1.17.1 is a patch release
|
||||
|
||||
### iOS (XCUITest)
|
||||
* feature: get idb working under launchWithIDB cap (https://github.com/appium/appium-xcuitest-driver/pull/1193)
|
||||
* feature: Add mobile command to get device time (https://github.com/appium/appium-xcuitest-driver/pull/1190)
|
||||
* feature: Add mobile command for tapWithNumberOfTaps (https://github.com/appium/appium-xcuitest-driver/pull/1184)
|
||||
* fix: datetime retrieval for real devices (https://github.com/appium/appium-xcuitest-driver/pull/1189) (https://github.com/appium/appium-xcuitest-driver/pull/1192)
|
||||
|
||||
## iOS (Web)
|
||||
* feature: allow safari alert with block/allow buttons to be handled (https://github.com/appium/appium-xcuitest-driver/pull/1185)
|
||||
* fix: cookie functions should not get proxied to wda ever (https://github.com/appium/appium-xcuitest-driver/pull/1182)
|
||||
* fix: wait for atom finish before checking for alerts (https://github.com/appium/appium-xcuitest-driver/pull/1183)
|
||||
* fix: properly handle promise during wait for atom (https://github.com/appium/appium-xcuitest-driver/pull/1187)
|
||||
* fix: do not send Target.exists on iOS 13.4 (https://github.com/appium/appium-remote-debugger/pull/219)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.17.0 (FROM 1.16.0)
|
||||
===================================
|
||||
|
||||
Appium 1.17.0 is a minor release.
|
||||
|
||||
#### General
|
||||
* Active driver sessions are now properly cleaned up upon main Appium process termination (https://github.com/appium/appium/pull/13913)
|
||||
* Preliminary support for iOS 13.4
|
||||
|
||||
#### iOS General
|
||||
|
||||
#### iOS (XCUITest)
|
||||
* Fix app installation on real devices (https://github.com/appium/appium-xcuitest-driver/pull/1139) (https://github.com/appium/appium-xcuitest-driver/pull/1138) (https://github.com/appium/appium-xcuitest-driver/pull/1140) (https://github.com/appium/appium-xcuitest-driver/pull/1152) (https://github.com/appium/appium-ios-device/pull/67)
|
||||
* Fix temporary log file to be more efficient (https://github.com/appium/appium-xcuitest-driver/pull/1147)
|
||||
* Fix port cleanup during shutdown (https://github.com/appium/appium-xcuitest-driver/pull/1153)
|
||||
* Fix starting of `idb` when used (https://github.com/appium/appium-idb/pull/20)
|
||||
* Add `screenshotOrientation` as Settings API to customize screenshot orientation (https://github.com/appium/WebDriverAgent/pull/277)
|
||||
* Capabilities:
|
||||
* `simulatorStartupTimeout` change the default timeout for simulator startup (https://github.com/appium/appium-xcuitest-driver/pull/1163)
|
||||
* `simulatorPasteboardAutomaticSync` turn on/off simulator pasteboard synching at launch (https://github.com/appium/appium-xcuitest-driver/pull/1168)
|
||||
* `simulatorTracePointer` turn on/off pointer highlighting in simulators (https://github.com/appium/appium-xcuitest-driver/pull/1169)
|
||||
* Add `snapshotMaxDepth` as Settings API to restrict the depth of getting the elements source tree (https://github.com/appium/WebDriverAgent/pull/273)
|
||||
* Add `mobile:` functions for new `simctl` functionality in Xcode 11.4+ (https://github.com/appium/appium-xcuitest-driver/pull/1162) (https://github.com/appium/appium-ios-simulator/pull/260) (https://github.com/appium/node-simctl/pull/96)
|
||||
* `mobile: setPermission`
|
||||
* `mobile: getAppearance`
|
||||
* `mobile: setAppearance`
|
||||
* Webviews/Safari:
|
||||
* Add webview bundle identifier to data returned with `fullContextList`
|
||||
* Add `waitForWebviewMs` option to `mobile:getContexts` endpoint, to block for a period while waiting for webview report (https://github.com/appium/appium-xcuitest-driver/pull/1135)
|
||||
* Allow SafariViewController webviews to be reached automatically (https://github.com/appium/appium-remote-debugger/pull/189) (https://github.com/appium/appium-remote-debugger/pull/197)
|
||||
* Fix asynchronous execution in webview context for iOS 12.1 and below (https://github.com/appium/appium-remote-debugger/pull/199)
|
||||
* Fix handling of React components whose state is handled by React (https://github.com/appium/appium-remote-debugger/pull/202)
|
||||
* Fix webviews for iOS 13.3 and 13.4 (https://github.com/appium/appium-remote-debugger/pull/203) (https://github.com/appium/appium-remote-debugger/pull/204) (https://github.com/appium/appium-remote-debugger/pull/205) (https://github.com/appium/appium-remote-debugger/commit/e067f0eab012b5ef67f1ce67eb85479c4abe440b) (https://github.com/appium/appium-xcuitest-driver/pull/1174)
|
||||
* Fix handling of alerts opened from webview (https://github.com/appium/appium-xcuitest-driver/pull/1176)
|
||||
|
||||
#### Android General
|
||||
* Add `mobile:` functions:
|
||||
* `mobile: listSms` to get the list of SMS (https://github.com/appium/appium-android-driver/pull/602 https://github.com/appium/appium-espresso-driver/pull/548)
|
||||
* `mobile: startScreenStreaming`, `mobile: stopScreenStreaming` (https://github.com/appium/appium-espresso-driver/pull/521)
|
||||
* `mobile: getNotifications` to get the list of notifications (https://github.com/appium/appium-android-driver/pull/598)
|
||||
* Fix `toggle_location_services` on Android 9.0 (https://github.com/appium/appium-android-driver/pull/594)
|
||||
* Add to allow letter as a `platformVersion` like `R` in preview/beta Android OS release ( https://github.com/appium/appium-android-driver/pull/607 )
|
||||
* Updated emulator detection logic (https://github.com/appium/appium/pull/14015)
|
||||
* Allow `mobile:` functions to perform actions in WebView contexts (https://github.com/appium/appium-uiautomator2-driver/pull/366) (https://github.com/appium/appium-espresso-driver/pull/549)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Added `mobile: type` endpoint (https://github.com/appium/appium-uiautomator2-driver/pull/365)
|
||||
* Tuned `sendKeys` endpoint (https://github.com/appium/appium-uiautomator2-server/pull/329)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Capabilities:
|
||||
* `espressoBuildConfig` customize the espresso server build configuration (https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md#espresso-server-build-configuration-json)
|
||||
* `intentOptions` customize intent for launching activities (https://github.com/appium/appium-espresso-driver/pull/542)
|
||||
* `skipServerInstallation` skip espresso driver preparation (https://github.com/appium/appium-espresso-driver/pull/526)
|
||||
* Add `-android viewmatcher` selector (https://github.com/appium/appium-espresso-driver/pull/516)
|
||||
* Add `noMultilineButtons`, `noEllipsizedText` and `noOverlaps` as available element attributes to extend available view assertions (https://github.com/appium/appium-espresso-driver/pull/544)
|
||||
* Support `open_notifications` endpoint (https://github.com/appium/appium-espresso-driver/pull/536/files)
|
||||
|
||||
|
||||
#### Windows
|
||||
|
||||
#### MacOS
|
||||
* Capabilities:
|
||||
* `a4mHost`, `a4mPort`, `a4mAppPath` and `killAllA4MAppBeforeStart` make mac driver configurable (https://github.com/appium/appium-mac-driver/pull/42) (https://github.com/appium/appium-mac-driver/pull/44)
|
||||
* Added the possibility to autodetect the location of the server app: https://github.com/appium/appium-mac-driver/pull/44
|
||||
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.16.0 (FROM 1.15.1)
|
||||
===================================
|
||||
|
||||
Appium 1.16.0 is a minor release
|
||||
|
||||
#### General
|
||||
* Fix handling of unexpected shutdown (https://github.com/appium/appium-base-driver/pull/370) (https://github.com/appium/appium/pull/13635) (https://github.com/appium/appium/pull/13662)
|
||||
* Beta support for Flutter (https://github.com/appium/appium/pull/12945)
|
||||
* Add log a custom event and get events (https://github.com/appium/appium-base-driver/pull/364, https://github.com/appium/appium-base-driver/pull/365)
|
||||
* Improve memory usage
|
||||
|
||||
#### IOS General
|
||||
* Fix creation of simulators on Xcode patch versions (https://github.com/appium/node-simctl/pull/89)
|
||||
* Support setting geolocation on simulators using [Lyft's set-simulator-location CLI](https://github.com/lyft/set-simulator-location) (https://github.com/appium/appium-ios-simulator/pull/249)
|
||||
|
||||
#### IOS (XCUITest):
|
||||
* Add support for shadow DOM elements (https://github.com/appium/appium-remote-debugger/commit/559395a16088142b27289dbac6d3a5ab36caa716)
|
||||
* fix problem in webview asynchronous execute on older versions of iOS, when low timeouts would cause the return value to never be returned (https://github.com/appium/appium-remote-debugger/pull/185)
|
||||
* Allow execution of WDA without app under test (https://github.com/appium/appium-xcuitest-driver/pull/1093)
|
||||
* Add `mobile: deleteFile` command for removing files/folders from the device (https://github.com/appium/appium-xcuitest-driver/pull/1095)
|
||||
* Fall back to `ios-deploy` if native install fails (https://github.com/appium/appium-xcuitest-driver/pull/1098)
|
||||
* Make sure ports are properly closed when cleaning up (https://github.com/appium/appium-xcuitest-driver/pull/1094)
|
||||
* Handle socket errors on session start (https://github.com/appium/appium-xcuitest-driver/pull/1101)
|
||||
* Properly handle creating simulators with patch versions (https://github.com/appium/node-simctl/pull/89)
|
||||
* Fix handling of Safari console log (https://github.com/appium/appium-remote-debugger/pull/176)
|
||||
* Add ability to interact with Shadow DOM in Safari (https://github.com/appium/appium-remote-debugger/commit/559395a16088142b27289dbac6d3a5ab36caa716)
|
||||
* New capabilities
|
||||
* `safariLogAllCommunication` - log all plists passed to and received from the Web Inspector (https://github.com/appium/appium-xcuitest-driver/pull/1105)
|
||||
* `safariLogAllCommunicationHexDump` - log the raw data passed to and received from the Web Inspector (https://github.com/appium/appium-xcuitest-driver/pull/1105)
|
||||
* `safariSocketChunkSize` - change the size of the data passed to the Web Inspector on real devices (https://github.com/appium/appium-xcuitest-driver/pull/1105)
|
||||
* `additionalWebviewBundleIds` - accept an array of bundle identifiers to poll for during webview app selection (https://github.com/appium/appium-xcuitest-driver/pull/1117)
|
||||
* `appPushTimeout` - timeout for application upload in millisecond, on real devices (https://github.com/appium/appium-xcuitest-driver/pull/1104)
|
||||
|
||||
#### Android General
|
||||
* Add `mobile: sensorSet` to gain access to setting device sensor data (https://github.com/appium/appium-android-driver/pull/555)
|
||||
* Speed up manifest parsing (https://github.com/appium/appium-adb/pull/471)
|
||||
* Fix process identification on older Android versions (https://github.com/appium/appium-adb/pull/472)
|
||||
* Fix batch permission setting (https://github.com/appium/appium-adb/pull/477)
|
||||
* Allow `appWaitDuration` to be set as low as `0` (https://github.com/appium/appium-adb/pull/479)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Add get clipboard for Android 10+ (https://github.com/appium/appium-uiautomator2-driver/pull/348)
|
||||
* Fix prefer IPv4 address to the host name (https://github.com/appium/appium-uiautomator2-driver/pull/343)
|
||||
* Fix Turn write access verification on Windows environment (https://github.com/appium/appium-uiautomator2-driver/pull/340)
|
||||
* Add bluetooth state as deviceInfo (https://github.com/appium/appium-uiautomator2-server/pull/312)
|
||||
* Allow session creation without starting an application (https://github.com/appium/appium-uiautomator2-driver/pull/337)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Allow configuring Gradle, AGP, various SDK and Kotlin versions for Espresso server (https://github.com/appium/appium-espresso-driver/pull/496)
|
||||
* Many thanks to @tinder-ktarasov
|
||||
* Add get clipboard for Android 10+ (https://github.com/appium/appium-espresso-driver/pull/512)
|
||||
|
||||
#### Windows
|
||||
* Support WinAppDriver 1.2 release candidate (https://github.com/appium/appium-windows-driver/pull/60)
|
||||
* Important capabilities: `ms:waitForAppLaunch`, `ms:experimental-webdriver`
|
||||
* Add a possibility to customize application startup timeout (https://github.com/appium/appium-windows-driver/pull/59)
|
||||
* `createSessionTimeout` (https://github.com/appium/appium-windows-driver#windowsdriver-specific-capabilities)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.15.1 (FROM 1.15.0)
|
||||
===================================
|
||||
|
||||
Appium 1.15.1 is a patch release that addresses incompatibilities with Node < 10.10
|
||||
|
||||
#### General
|
||||
* Fix: support older nodejs version by just using stat [#130](https://github.com/appium/appium-support/commit/12396d7db50206e70d7f8f633d7e9a5a6f14553a)
|
||||
|
||||
CHANGES IN VERSION 1.15.0 (FROM 1.14.1)
|
||||
===================================
|
||||
|
||||
Appium 1.15.0 is a minor release, with support for iOS 13.0.
|
||||
|
||||
#### General
|
||||
* Add `--base-path` server argument to set a custom route prefix [#13079](https://github.com/appium/appium/pull/13079)
|
||||
* Store the image element for retrieval [#327](https://github.com/appium/appium-base-driver/pull/327)
|
||||
* Fix handling of W3C/MJSONWP protocols [#331](https://github.com/appium/appium-base-driver/pull/331)
|
||||
[#336](https://github.com/appium/appium-base-driver/pull/336) [#337](https://github.com/appium/appium-base-driver/pull/337)
|
||||
[#348](https://github.com/appium/appium-base-driver/pull/348) [#351](https://github.com/appium/appium-base-driver/pull/351)
|
||||
[#353](https://github.com/appium/appium-base-driver/pull/353) [#355](https://github.com/appium/appium-base-driver/pull/355)
|
||||
* Fix handling of timezone when getting the device data/time [#392](https://github.com/appium/appium-ios-driver/pull/392) [#557](https://github.com/appium/appium-android-driver/pull/557)
|
||||
* Fix handling of globally installed `opencv4nodejs` and `mjpeg-consumer` modules [#105](https://github.com/appium/appium-support/pull/105)
|
||||
* Make it possible to start server without an app or a package id using UiAutomator2 and XCUITest [#337](https://github.com/appium/appium-uiautomator2-driver/pull/337) [#195](https://github.com/appium/WebDriverAgent/pull/195)
|
||||
* Internally, WebDriverAgent, UiAutomator2 and Espresso servers operate only through W3C spec protocol
|
||||
|
||||
#### IOS (XCUITest):
|
||||
* Support iOS 13/Xcode 11
|
||||
* Bump generic `"iphone simulator"` device name for iOS 13.0 from `iPhone 8` to `iPhone X` [#1068](https://github.com/appium/appium-xcuitest-driver/pull/1068)
|
||||
* Add support for `otherApps` capability on iOS like we have on Android [#988](https://github.com/appium/appium-xcuitest-driver/pull/988)
|
||||
* Add `"mobile: activeAppInfo"` feature [#1025](https://github.com/appium/appium-xcuitest-driver/pull/1025)
|
||||
* Settings
|
||||
* `mjpegScalingFactor` [#983](https://github.com/appium/appium-xcuitest-driver/pull/983)
|
||||
* `snapshotTimeout` [#181](https://github.com/appium/WebDriverAgent/pull/181)
|
||||
* `useFirstMatch` [#187](https://github.com/appium/WebDriverAgent/pull/187)
|
||||
* `defaultActiveApplication` [#209](https://github.com/appium/WebDriverAgent/pull/209)
|
||||
* `activeAppDetectionPoint` [#215](https://github.com/appium/WebDriverAgent/pull/215) [#218](https://github.com/appium/WebDriverAgent/pull/218)
|
||||
* `includeNonModalElements` [#222](https://github.com/appium/WebDriverAgent/pull/222)
|
||||
* New capabilities
|
||||
* `includeSafariInWebviews` [#1060](https://github.com/appium/appium-xcuitest-driver/pull/1060)
|
||||
* `safariGlobalPreferences` [#1057](https://github.com/appium/appium-xcuitest-driver/pull/1057)
|
||||
* Remove some third-party dependencies
|
||||
* `idevicedate` [#1042](https://github.com/appium/appium-xcuitest-driver/pull/1042)
|
||||
* `iproxy` [#996](https://github.com/appium/appium-xcuitest-driver/pull/996)
|
||||
* `idevicesyslog` [#1000](https://github.com/appium/appium-xcuitest-driver/pull/1000)
|
||||
* `idevicelocation` [#1006](https://github.com/appium/appium-xcuitest-driver/pull/1006)
|
||||
* `ifuse` [#1019](https://github.com/appium/appium-xcuitest-driver/pull/1019)
|
||||
* `ios-webkit-debug-proxy` [#1023](https://github.com/appium/appium-xcuitest-driver/pull/1023)
|
||||
* `ios-deploy` [#1009](https://github.com/appium/appium-xcuitest-driver/pull/1009)
|
||||
* Get only user apps in file-movement for performance aspect [#1014](https://github.com/appium/appium-xcuitest-driver/pull/1014)
|
||||
* Switch `reduceMotion` via settings API instead of update simulator pref [#1065](https://github.com/appium/appium-xcuitest-driver/pull/1065)
|
||||
* Add the necessary primitives to be able to automate split-screen apps [#209](https://github.com/appium/webdriveragent/pull/209)
|
||||
* Add a new endpoint for element rotation [#213](https://github.com/appium/webdriveragent/pull/213)
|
||||
* Add useful information in `"mobile: deviceInfo"` [#210](https://github.com/appium/webdriveragent/pull/210)
|
||||
* Add ability to automate split screen applications [#214](https://github.com/appium/webdriveragent/pull/214) [#215](https://github.com/appium/webdriveragent/pull/215) [#204](https://github.com/appium/WebDriverAgent/pull/204)
|
||||
* Allow setting compression quality and scaling factor for `mjpeg-stream` [#196](https://github.com/appium/WebDriverAgent/pull/196)
|
||||
* Fix `GET` `/timeouts` [#1067](https://github.com/appium/appium-xcuitest-driver/pull/1067)
|
||||
* Switch `async execute` to not need CORS (works for real and simulated devices) [#1063](https://github.com/appium/appium-xcuitest-driver/pull/1063)
|
||||
* Fix uninstalling of `WDA` with '.xctrunner' suffix for real device [#1052](https://github.com/appium/appium-xcuitest-driver/pull/1052)
|
||||
* Fix caching issues [#1053](https://github.com/appium/appium-xcuitest-driver/pull/1053)
|
||||
* Fix `mjpegstream` logic for returning screenshots [#1039](https://github.com/appium/appium-xcuitest-driver/pull/1039)
|
||||
* Fix Node bug when ending session [#1040](https://github.com/appium/appium-xcuitest-driver/pull/1040)
|
||||
* Fix launching `WDA` multiple times [#999](https://github.com/appium/appium-xcuitest-driver/pull/999)
|
||||
* Fix "get active element" [#1011](https://github.com/appium/appium-xcuitest-driver/pull/1011)
|
||||
* Fix screenshot taking for iOS below 11 [#193](https://github.com/appium/WebDriverAgent/pull/193)
|
||||
* Fix to not throw exception if the app is not in foreground after a timeout [#211](https://github.com/appium/WebDriverAgent/pull/211)
|
||||
* Fix `tap` and `tapByCoordinate` to use their native implementations since iOS 13.0 [#212](https://github.com/appium/WebDriverAgent/pull/212) [#217](https://github.com/appium/WebDriverAgent/pull/217)
|
||||
* Fix calculation of touch coordinates in landscape orientation for iOS 13.1 [#220](https://github.com/appium/WebDriverAgent/pull/220)
|
||||
|
||||
#### Android General
|
||||
* Default Chromedriver version is `77.0.3865.40` [#143](https://github.com/appium/appium-chromedriver/pull/143)
|
||||
* Add server feature to enable automated Chromedriver downloads [#548](https://github.com/appium/appium-android-driver/pull/548)
|
||||
* New capabilities
|
||||
* `waitForLaunch` [#556](https://github.com/appium/appium-android-driver/pull/556) [#327](https://github.com/appium/appium-uiautomator2-driver/pull/327)
|
||||
* `ensureWebviewsHavePages` [#553](https://github.com/appium/appium-android-driver/pull/553)
|
||||
* `enforceAppInstall` [#573](https://github.com/appium/appium-android-driver/pull/573)
|
||||
* Fix partial platform version matching [#567](https://github.com/appium/appium-android-driver/pull/567)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* New capabilities
|
||||
* `gpsEnabled` [#320](https://github.com/appium/appium-uiautomator2-driver/pull/320)
|
||||
* New settings
|
||||
* `wakeLockTimeout` [#298](https://github.com/appium/appium-uiautomator2-server/pull/298)
|
||||
* Fix server package install by enabling replace option [#336](https://github.com/appium/appium-uiautomator2-driver/pull/336)
|
||||
* Fix server package install by copying apks to temporary writeable location if they cannot be written where they are [#338](https://github.com/appium/appium-uiautomator2-driver/pull/338)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Add timezone and locale in `deviceinfo` [#465](https://github.com/appium/appium-espresso-driver/pull/465)
|
||||
* Fix `sendKey` to allow multi byte strings [#474](https://github.com/appium/appium-espresso-driver/pull/474)
|
||||
* Fix clipboard get/set `contentType` [#478](https://github.com/appium/appium-espresso-driver/pull/478)
|
||||
* Fix current context when creating session [#483](https://github.com/appium/appium-espresso-driver/pull/483)
|
||||
* Fix set value immediately, replace value [#484](https://github.com/appium/appium-espresso-driver/pull/484)
|
||||
* Fix printing of the original stack trace rather than the wrapped one [#488](https://github.com/appium/appium-espresso-driver/pull/488)
|
||||
* Fix raise an error for launch app, close app, and reset since they do not apply to Espresso [#485](https://github.com/appium/appium-espresso-driver/pull/485) [#491](https://github.com/appium/appium-espresso-driver/pull/491)
|
||||
* Fix `createSession` to fulfill W3C spec [#490](https://github.com/appium/appium-espresso-driver/pull/490)
|
||||
* Fix raise an error for reset as they do not apply to Espresso [#491](https://github.com/appium/appium-espresso-driver/pull/491)
|
||||
|
||||
CHANGES IN VERSION 1.14.1 (FROM 1.14.0)
|
||||
===================================
|
||||
|
||||
Appium 1.14.1 is a patch release. You.I Engine Driver is the only affected driver.
|
||||
|
||||
#### YouI Engine Driver
|
||||
* Added support for YIKeyEvents (all supported key events) via Execute Mobile Command when using `mobile:PressButton`
|
||||
* Added new default port for You.i Engine socket server on PS4 and ability to make it configurable.
|
||||
|
||||
CHANGES IN VERSION 1.14.0 (FROM 1.13.0)
|
||||
===================================
|
||||
|
||||
Appium 1.14.0 is a minor release.
|
||||
|
||||
#### General
|
||||
* **IMPORTANT**: The default driver for Android is now set to [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver) instead of [UiAutomator1](https://github.com/appium/appium-android-driver). If the [UiAutomator1](https://github.com/appium/appium-android-driver) driver is still desired, then this can be achieved by setting `automationName=UiAutomator1` in the capabilities
|
||||
* **IMPORTANT**: Minimum Node version is bumped up to v10
|
||||
* `--allow-insecure` and `--deny-insecure` server flags are added to deprecate `--relaxed-security` in the future releases [#12778](https://github.com/appium/appium/pull/12778). Please check the [documentation](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/security.md) for further information
|
||||
* Drop `--enable-heapdump` for debugging [#12609](https://github.com/appium/appium/pull/12609)
|
||||
* Fix `--tmp` server arg [#12585](https://github.com/appium/appium/pull/12585)
|
||||
* Can get selected image by `find element by image` for debugging [#327](https://github.com/appium/appium-base-driver/pull/327)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Fix problems with activity startup not working when the package name value in `appActivity` is different from the one in `appPackage` [#441](https://github.com/appium/appium-espresso-driver/pull/441)
|
||||
* Add a mobile helper to disable autofill dialog in Android O [#456](https://github.com/appium/appium-espresso-driver/pull/456)
|
||||
|
||||
#### Android (UIAutomator2)
|
||||
* Remove the extra wait for idle calls to speed up element queries [#279](https://github.com/appium/appium-uiautomator2-server/pull/279)
|
||||
* Added a new capability `trackScrollEvents` to configurate the tracking of scroll movement. This improves performance of touch actions significantly[#284](https://github.com/appium/appium-uiautomator2-server/pull/284)
|
||||
|
||||
#### iOS (XCUITest)
|
||||
* Make `platformVersion` a required capability for iOS Simulators [#954](https://github.com/appium/appium-xcuitest-driver/pull/954)
|
||||
* Enforce Simulator shutdown if `resetOnSessionStartOnly` is set to false [#950](https://github.com/appium/appium-xcuitest-driver/pull/950)
|
||||
* Fixed the issue with [addresses problems with long startup times for Safari WebViews on iOS 12.2](https://github.com/appium/appium/issues/12590)
|
||||
* `platformVersion` capability is now mandatory for Simulators and optional for real devices (but only if Appium can determine the version from ideviceinfo output)[#954](https://github.com/appium/appium-xcuitest-driver/pull/954)
|
||||
* Update to call `idb` instead of `fbsimctl` which is used for some commands for simulator environment [#12574](https://github.com/appium/appium/pull/12574)
|
||||
* Fixed the file translation for real device [#12710](https://github.com/appium/appium/pull/12710)
|
||||
* Read https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios/ios-xctest-file-movement.md about the rule
|
||||
* Fixed the WDA manual code signing issue which happens in some cases [#961](https://github.com/appium/appium-xcuitest-driver/pull/961)
|
||||
|
||||
CHANGES IN VERSION 1.13.0 (FROM 1.12.1)
|
||||
===================================
|
||||
|
||||
Appium 1.13.0 is a minor release
|
||||
|
||||
#### General
|
||||
* Appium 1.13 will be the last minor version to use [UiAutomator1](https://github.com/appium/appium-android-driver) as the default Android automation. As of Appium 1.14, the default Android driver will be [UiAutomator2](https://github.com/appium/appium-uiautomator2-driver). If you don't set the `automationName` for an Android session a big [warning](https://github.com/appium/appium/pull/12481) will be displayed notifying you of the change. This will be a breaking change, and it's recommended if you wish to keep the same behavior, add the capability `automationName=UiAutomator1` to your scripts
|
||||
* Appium 1.13 will be the last minor version to support Node v8. As of Appium 1.14 the supported Node versions will be v10 and v12.
|
||||
* Added capability `defaultImageTemplateScale` to allow arranging of image comparison logic [#307](https://github.com/appium/appium-base-driver/pull/307)
|
||||
* Fixes:
|
||||
* Treat W3C /property and /attribute as aliases in a web context [#311](https://github.com/appium/appium-base-driver/pull/311)
|
||||
|
||||
#### Android
|
||||
* New capabilities:
|
||||
* `remoteAppsCacheLimit`: sets the limit for how many APKs will be cached on a device [#523](https://github.com/appium/appium-android-driver/pull/523)
|
||||
* `chromedriverPorts`: allows specifying multiple ports or a range of Chromedriver ports to use for web tests [#529](https://github.com/appium/appium-android-driver/pull/529)
|
||||
* `buildToolsVersion`: allows you to set the Android `build-tools` version to be something different than the default, which is to use the most recent version [#532](https://github.com/appium/appium-android-driver/pull/532)
|
||||
* Fixes:
|
||||
* Emulators have a bug where they sometimes go offline when root/unroot is called. Only affects unrooted emulators. Workaround is to check if a device went offline after root/unroot was called and then restarting the ADB server if it did [#443](https://github.com/appium/appium-adb/pull/443)
|
||||
* Calls to `mobile:` endpoints weren't being called in web context. Default now is that, in a web context, the native mobile endpoint is always called [#527](https://github.com/appium/appium-android-driver/pull/527)
|
||||
* `network_connection` endpoint was also not usable from web context [#531](https://github.com/appium/appium-android-driver/pull/531)
|
||||
* `pushFile` was not working on some later Android SDK's due to permission errors [#439](https://github.com/appium/appium-adb/pull/439)
|
||||
* Default values in caps not being set correctly [#436](https://github.com/appium/appium-adb/pull/436)
|
||||
* No longer uninstalls apps when session is terminated if `dontStopAppOnReset` is set [#530](https://github.com/appium/appium-android-driver/pull/530)
|
||||
* Allow touch actions in a web context. Only works for absolute coordinates. JSONWP only, not related to W3C Actions implementation [#534](https://github.com/appium/appium-android-driver/pull/534/files)
|
||||
* Update Chromedriver to 73.0.0 [#318](https://github.com/appium/appium-base-driver/pull/318)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Use UiAutomator's screenshot method when default screenshoter fails [#264](https://github.com/appium/appium-uiautomator2-server/pull/264)
|
||||
* Add detailed network information to the device information endpoint (appium/device/info) [#265](https://github.com/appium/appium-uiautomator2-server/pull/265). Addresses [Issue #12502](https://github.com/appium/appium/issues/12502)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Fixes:
|
||||
* Changed incorrect naming of Espresso argument `installTimeout` to the correct `androidInstallTimeout` [#426](https://github.com/appium/appium-espresso-driver/pull/426/files)
|
||||
* Use ADB instead of Espresso to verify activities for better reliability [#425](https://github.com/appium/appium-espresso-driver/pull/425/files)
|
||||
|
||||
#### iOS
|
||||
* Support webview testing for real devices running iOS 12.2+ (1.12.1 already added support for iOS Simulators) [#122](https://github.com/appium/appium-remote-debugger/pull/122). Make sure your ios-webkit-debug-proxy is [up-to-date](https://github.com/google/ios-webkit-debug-proxy/releases/latest) for real devices.
|
||||
* Supports tvOS [#151](https://github.com/appium/WebDriverAgent/pull/151).
|
||||
* See [documentation](https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/ios/ios-tvos.md) for details.
|
||||
* Be sure to update Carthage to the [latest](https://github.com/Carthage/Carthage/releases) to handle TVOs dependencies
|
||||
* Fixes:
|
||||
* Improve performance of video recording by using superior startup detection tools [#12486](https://github.com/appium/appium/issues/12486)
|
||||
* Not able to change video recording parameters in IOS [#12463](https://github.com/appium/appium/issues/12463)
|
||||
* Change behavior of capability `showXcodeLog` so that when it is explicitly set to false, don't print any Xcode logs, even error logs [#12466](https://github.com/appium/appium/issues/12466)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.12.1 (FROM 1.12.0)
|
||||
===================================
|
||||
|
||||
* Appium 1.12.1 is a patch release that addresses iOS Simulator 12.2 WebView issues
|
||||
* `platformVersion` becomes a required capability
|
||||
|
||||
#### iOS
|
||||
* `platformVersion` is necessary for real devices
|
||||
* Updated Appium Remote Debugger so that Safari webview tests are compatible with Xcode 10.2 (addresses [issue #12239](https://github.com/appium/appium/issues/12239)) [#118](https://github.com/appium/appium-remote-debugger/pull/118)
|
||||
* Fix `screenshotQuality` cap not being forwarded to WebDriverAgent [#907](https://github.com/appium/appium-xcuitest-driver/pull/907)
|
||||
* Fix xctestrun file detection when `useXctestrunFile` is true [#903](https://github.com/appium/appium-xcuitest-driver/pull/903)
|
||||
* Fix problem with Appium not using cached WebDriverAgent [#909](https://github.com/appium/appium-xcuitest-driver/pull/909)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.12.0 (FROM 1.11.1)
|
||||
===================================
|
||||
|
||||
Appium 1.12.0 is a minor release
|
||||
|
||||
#### General
|
||||
* Fix wrong coordination in _find element by_ . [#306](https://github.com/appium/appium-base-driver/pull/306), [#307](https://github.com/appium/appium-base-driver/pull/307)
|
||||
* Added `fixImageTemplateScale` to arrange image comparison logic. Read [doc](docs/en/advanced-concepts/image-elements.md) for more details
|
||||
|
||||
#### Android
|
||||
* Add `mobile:` endpoint for enabling/disabling/viewing app permissions [#305](https://github.com/appium/appium-uiautomator2-driver/pull/305)
|
||||
* Fix exception caused when Appium Settings fails to provide geolocation [#493](https://github.com/appium/appium-android-driver/pull/493)
|
||||
* Stop chromedriver proxies when reset command is called [#495](https://github.com/appium/appium-android-driver/pull/495)
|
||||
* Fix pin unlock errors. Turn screen off before doing pin unlock to ensure pin unlock screen has no existing entries. [#498](https://github.com/appium/appium-android-driver/pull/498)
|
||||
* Add `uninstallOtherPackages` capability [#289](https://github.com/appium/appium-uiautomator2-driver/pull/289)
|
||||
* Fix pattern unlock problems caused by not using relative touches [#489](https://github.com/appium/appium-android-driver/pull/489)
|
||||
* Add `chromedriverArgs` capability that passes chromedriver flags into sessions [#519](https://github.com/appium/appium-android-driver/pull/519/files)
|
||||
* Add `skipLogcatCapture` capability that skip capturing logcat, for possible performance enhancement.
|
||||
|
||||
#### Android (UiAutomator2 only)
|
||||
* Verify file system permissions before signing files to avoid confusing signing errors [#294](https://github.com/appium/appium-uiautomator2-driver/pull/294)
|
||||
|
||||
#### Android (Espresso only)
|
||||
* Add `dataMatcher` selector strategy [#386](https://github.com/appium/appium-espresso-driver/pull/386)
|
||||
* `mobile:` commands
|
||||
* Call UiAutomator commands from Espresso [#371](https://github.com/appium/appium-espresso-driver/pull/371)
|
||||
* `swipe` and `clickAction` delegates to Espresso's `GeneralSwipeAction` and `GeneralClickAction` [#372](https://github.com/appium/appium-espresso-driver/pull/372)
|
||||
* `webAtom` which delgates to Espresso's `Web Atoms` library [#380](https://github.com/appium/appium-espresso-driver/pull/380)
|
||||
* Fix orientation change event to not require element [#383](https://github.com/appium/appium-espresso-driver/pull/383)
|
||||
* Add `remoteAdbHost` capability to allow tests on remote machines [#381](https://github.com/appium/appium-espresso-driver/pull/381)
|
||||
|
||||
#### iOS
|
||||
* Add `eventLoopIdleDelaySec` capability. Delays the invocation of `-[XCUIApplicationProcess setEventLoopHasIdled:]` by the number of seconds specified with this capability. This can help quiescence apps that fail to do so for no obvious reason (and creating a session fails for that reason) [#881](https://github.com/appium/appium-xcuitest-driver/pull/881)
|
||||
* Add `-r` flag for video recording to make screen video recording more flexible [#867](https://github.com/appium/appium-xcuitest-driver/pull/867)`
|
||||
* Add `enforceFreshSimulatorCreation` capability [#859](https://github.com/appium/appium-xcuitest-driver/pull/859)
|
||||
* More helpful logging
|
||||
* Add `mjpegScalingFactor` settings that change image scale of mjpeg server to stream screen [#138](https://github.com/appium/WebDriverAgent/pull/138)
|
||||
* Returns a couple of lines of xcodebuild error message if WDA xcodebuild fails. It helps to understand the cause. [#888](https://github.com/appium/appium-xcuitest-driver/pull/888)
|
||||
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.11.1 (from 1.11.0)
|
||||
===================================
|
||||
|
||||
Appium 1.11.1 is a patch release
|
||||
|
||||
#### General
|
||||
* Upgrade Appium You.I Engine Driver to 1.1.2
|
||||
* Fix protocol translation bug (W3C -> MJSONWP) in `/actions` [#302](https://github.com/appium/appium-base-driver/pull/302)
|
||||
* Fix protocol conversion for `setValue` [#297](https://github.com/appium/appium-base-driver/pull/297)
|
||||
|
||||
#### Android (UiAutomator2 only)
|
||||
* Fix null pointer exception on Session Details retrieval [#247](https://github.com/appium/appium-uiautomator2-server/pull/247)
|
||||
* Make logging configurable [#242](https://github.com/appium/appium-uiautomator2-server/pull/242)
|
||||
* Change implementation of the ScrollTo command, so that now it supports different strategies to search for a GUI element (by accessibility id, by class name, and by using the Android uiautomator selectors) [#244](https://github.com/appium/appium-uiautomator2-server/pull/244)
|
||||
|
||||
CHANGES IN VERSION 1.11.0 (from 1.10.0)
|
||||
===================================
|
||||
|
||||
Appium 1.11.0 is a minor release
|
||||
|
||||
#### iOS
|
||||
* Fix issues with MJPEG video streaming [#134](https://github.com/appium/WebDriverAgent/pull/134)
|
||||
* Xcode 10.2 device list support [appium/node-simctl#77](https://github.com/appium/node-simctl/pull/77)
|
||||
|
||||
#### Android
|
||||
* Add `chromedriverDisableBuildCheck` capability which sets the `--disable-build-check` flag on Chromedriver [#474](https://github.com/appium/appium-android-driver/pull/474)
|
||||
* Add `skipDeviceInitialization` capability which speeds up session startup for cases where Appium doesn't need to wait for the device, push a settings app, or set permissions [#480](https://github.com/appium/appium-android-driver/pull/480)
|
||||
* Fall back to pressing BACK button if ESC fails to close soft keyboard [#471](https://github.com/appium/appium-android-driver/pull/471)
|
||||
* Improve XML source building performance by using Jaxen/JDOM2 library on Espresso and UiAutomator2 [#237](https://github.com/appium/appium-uiautomator2-server/pull/237)
|
||||
* Add setting `normalizeTagNames` which is set to true by default, which normalizes source tag names to workaround parsing problems
|
||||
* Fix: Include API level 23 for granting of permissions to apps. 23 was being incorrectly excluded previously [#473](https://github.com/appium/appium-android-driver/pull/473)
|
||||
* Fix: Only call `helpers.ensureDeviceLocale` if language or locale was set, to avoid spending startup time on locale unnecessarily [#477](https://github.com/appium/appium-android-driver/pull/477)
|
||||
* Fix: Don't regard apps as 'temporary' if the `app` is a relative path [#479](https://github.com/appium/appium-android-driver/pull/479)
|
||||
* Fix session init. Uninstalls Espresso server if server is older or newer than currently installed Espresso server [#358](https://github.com/appium/appium-espresso-driver/pull/358)
|
||||
* Fix setting WiFi connection status [#30](https://github.com/appium/io.appium.settings/pull/30)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Add `skipServerInstallation` capability that skips the step of installing the UIAutomator2 server [#266](https://github.com/appium/appium-uiautomator2-driver/pull/266)
|
||||
* Fix duplicate chrome startup [#266](https://github.com/appium/appium-uiautomator2-driver/pull/266)
|
||||
* Only perform uiautomation process cleanup if instrumentation crashes [#280](https://github.com/appium/appium-uiautomator2-driver/pull/280)
|
||||
|
||||
#### Android (Espresso)
|
||||
* Add `mobile:` endpoints to run [Espresso contrib methods](http://appium.io/docs/en/commands/mobile-command/): `openDrawer`, `closeDrawer`, `setDate`, `setTime`, `navigateTo`, `scrollToPage` [#324](https://github.com/appium/appium-espresso-driver/pull/324) (warning: See [open issue](https://github.com/appium/appium-espresso-driver/issues/331) from problem with `scrollToPage`)
|
||||
* Add `mobile: backdoor` method that allows accessing app-internal functionality [#317](https://github.com/appium/appium-espresso-driver/pull/317)
|
||||
* Add `mobile: flashElement` method [#337](https://github.com/appium/appium-espresso-driver/pull/337)
|
||||
* Backport [clipboard features](http://appium.io/docs/en/commands/device/clipboard/get-clipboard/) from UiAutomator2 [#361](https://github.com/appium/appium-espresso-driver/pull/361)
|
||||
* Fix XML memory problems
|
||||
* Limit traversal depth [#341](https://github.com/appium/appium-espresso-driver/pull/341)
|
||||
* Fallback to using filesystem if in-memory can't handle XML [#344](https://github.com/appium/appium-espresso-driver/pull/344)
|
||||
* Limit max length of text values in the XML to 64K
|
||||
* Fix ID selector by automatically prefixing with current package name [#346](https://github.com/appium/appium-espresso-driver/pull/346)
|
||||
* Fix crash on calling `/enabled` and `/selected` on elements [#353](https://github.com/appium/appium-espresso-driver/pull/353)
|
||||
* Add `nativeWebScreenshot` capability to allow screen capture of webviews [#366](https://github.com/appium/appium-espresso-driver/pull/366)
|
||||
* Fix element screenshot endpoint to support MJSONWP and not just W3C [#370](https://github.com/appium/appium-espresso-driver/pull/370)
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.10.0 (from 1.9.1)
|
||||
===================================
|
||||
|
||||
Appium 1.10.0 is a minor release.
|
||||
|
||||
#### General
|
||||
* Bring Espresso Driver out of beta and into general availability
|
||||
* Support Xcode 10, discontinue support for Xcode 8
|
||||
* Bump up minimum Node version to 8 and minimum NPM version to 6
|
||||
* Improve string extractions for Android and iOS
|
||||
* Fix synchronization of applications caching [#274](https://github.com/appium/appium-base-driver/pull/274)
|
||||
* Disable CORS on `createServer` by default.Add `--allow-cors` flag to server flags [#11719](https://github.com/appium/appium/pull/11719)
|
||||
|
||||
#### iOS
|
||||
* Add [mobile:](http://appium.io/docs/en/commands/mobile-command/#ios-xcuitest-only) methods:
|
||||
* Add biometrics (touchId, faceId) methods that can enroll/unenroll biometric features and send matching/non-matching biometric inputs (iOS Simulator only) [#816](https://github.com/appium/appium-xcuitest-driver/pull/816)
|
||||
* Add method to clear keychains for an iOS Simulator [#816](https://github.com/appium/appium-xcuitest-driver/pull/816)
|
||||
* Add [permissions capability](https://github.com/appium/appium-xcuitest-driver#desired-capabilities) that sets service permissions (calendar, siri, etc...) prior to creating a session [#818](https://github.com/appium/appium-xcuitest-driver/pull/818)
|
||||
* Add possibility to upload files into different container types on Simulator [#770](https://github.com/appium/appium-xcuitest-driver/pull/770)
|
||||
* Add [reduceMotion](https://github.com/appium/appium-xcuitest-driver/blob/master/README.md#L161) capability [#760](https://github.com/appium/appium-xcuitest-driver/pull/760)
|
||||
* Improve video recording
|
||||
* Improved iOS simulator booting procedure
|
||||
* Add mobile endpoint for running Siri commands [#837](https://github.com/appium/appium-xcuitest-driver/pull/837)
|
||||
|
||||
#### Android
|
||||
* Add [mobile:](http://appium.io/docs/en/commands/mobile-command) command for performing editor actions [#428](https://github.com/appium/appium-android-driver/pull/428)
|
||||
* Can record videos up to 30 minutes (requires [FFMPEG](https://www.ffmpeg.org/) to be installed) [#399](https://github.com/appium/appium-android-driver/pull/399)
|
||||
* Add `localeScript` capability to set script in `locale` (https://developer.android.com/reference/java/util/Locale) [#460](https://github.com/appium/appium-android-driver/pull/460)
|
||||
* Allow `locale` and `language` for real devices under API level 23 [#379](https://github.com/appium/appium-adb/pull/379)
|
||||
* Improved video recording
|
||||
* Fix [bug](https://github.com/appium/appium/issues/11619) calling `getRect` in MJSONWP sessions [#240](https://github.com/appium/appium-uiautomator2-driver/pull/240)
|
||||
* Fix pin entry error on Samsung devices that wasn't correctly locating the "Enter" button [#458](https://github.com/appium/appium-android-driver/pull/458)
|
||||
* Relax [hidden API policy](https://developer.android.com/about/versions/pie/restrictions-non-sdk-interfaces) for Android P and above
|
||||
* Support running tests using Android App Bundle [#11601](https://github.com/appium/appium/pull/11601)
|
||||
|
||||
#### Android (UiAutomator2)
|
||||
* Add [mobile:](http://appium.io/docs/en/commands/mobile-command) command for retrieving device information [#221](https://github.com/appium/appium-uiautomator2-driver/pull/211)
|
||||
* Support `.apks` bundles [#233](https://github.com/appium/appium-uiautomator2-driver/pull/233)
|
||||
* Fix bug with timeouts calls for W3C sessions [#239](https://github.com/appium/appium-uiautomator2-driver/pull/239)
|
||||
* Refactored XML source generation and xpath search in order to fix known bugs and to improve the general performance of these operations [#208](https://github.com/appium/appium-uiautomator2-server/pull/208)
|
||||
* Refactored and fixed issues with W3C Actions [#205](https://github.com/appium/appium-uiautomator2-server/pull/205)
|
||||
|
||||
CHANGES IN VERSION 1.9.1 (from 1.9.0)
|
||||
===================================
|
||||
|
||||
Appium 1.9.1 is a patch release. Next version will likely not support Xcode 8
|
||||
|
||||
#### General
|
||||
* Append the current session identifier to the protocol name prefix in server logs
|
||||
* Fix the way current protocol is determined from execute response
|
||||
|
||||
#### iOS
|
||||
* Support Xcode 10 and iOS 12.0
|
||||
* Add a possibility to set container type for Simulator while pushing/pulling files
|
||||
* Fix W3C format handling by receiveAsyncResponse command
|
||||
* Fix iPhone X Simulator screen recording
|
||||
|
||||
#### Android
|
||||
* Fix `getStrings` for no app
|
||||
* Fix screen recording bug
|
||||
* Return the current geolocation from `getGeoLocation`
|
||||
* Add `mobile:mobileGetDeviceInfo` command (UiAutomator2 only)
|
||||
* Make 'by tag name' selector compatible with View Tag selector (Espresso only)
|
||||
* Convert mouse action events to touch actions (Espresso only)
|
||||
|
||||
#### Windows
|
||||
* Add more support for [W3C Actions API](https://www.w3.org/TR/webdriver1/#actions)
|
||||
* Support pointer input methods: up, down and move
|
||||
* Add advanced modifier attributes to 'touch' inputs: pressure, twist, width, height
|
||||
* Add advanced modifier attributes to 'pen' inputs: pressure, twist, tilt x and y, eraser, barrel button
|
||||
* Support interpolation for 'pen' and 'multitouch'
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.9.0 (from 1.8.1)
|
||||
===================================
|
||||
|
||||
Appium 1.9.0 is a feature release, comprising multiple updates.
|
||||
|
||||
#### General
|
||||
* Full W3C Specification support.
|
||||
* Add full beta of [Espresso driver](https://github.com/appium/appium-espresso-driver)
|
||||
for Android automation (used by specifying `automationName` capability to be
|
||||
`"Espresso"`).
|
||||
* Add driver for [Samsung Tizen devices](https://github.com/Samsung/appium-tizen-driver)
|
||||
* Add `-image` find element strategy,
|
||||
* Fix `--async-trace` server argument, and rename as `--long-stacktrace`
|
||||
* Sample code has been moved into the main repository to aid in maintenance.
|
||||
* Fix status retrieval to speed up performance.
|
||||
|
||||
#### iOS
|
||||
* Add support for Xcode 10 beta 5 and iOS 12 beta 5.
|
||||
* Add preliminary support for MacOS Mojave beta.
|
||||
* Add face id biometric support.
|
||||
* Fix retrieval of device time, and add optional `format` parameter.
|
||||
* Do not crash if there is no `idevicesyslog` when ending session.
|
||||
* Handle frames when page changes in Safari.
|
||||
* Add desired capabilities:
|
||||
* `remoteDebugProxy` - port or Unix domain socket on which a proxy for the
|
||||
remote debugger sits.
|
||||
* `safariGarbageCollect` - turn on/off JS garbage collection in Safari.
|
||||
* `showSafariNetworkLog` - print Safari network logs in the Appium server logs.
|
||||
* `mjpegServerPort` - port to which screenshots can be streamed.
|
||||
* Fix handling of settings updates, so simulators are not restarted unnecessarily.
|
||||
* Allow pulling of folder from real devices.
|
||||
* Add `mobile: getContexts` execute function, to retrieve meta-information (title,
|
||||
url, etc.) about available contexts.
|
||||
* Fix certificate retrieval and handling.
|
||||
* Fix cookie handling, to allow secure cookies.
|
||||
* Fix Safari timeout issues.
|
||||
* Add support to retrieve Safari network logs, as `safariNetwork` log type.
|
||||
|
||||
#### Android
|
||||
* Update Chromedriver to v2.41.
|
||||
* Get Chrome version for Webviews in Android 7+, to find correct Chromedriver.
|
||||
* Make sure UiAutomator processes are cleaned up during test.
|
||||
* Fix handling of `autoWebview` capability.
|
||||
* New desired capabilities:
|
||||
* `mjpegScreenshotUrl` - url to stream screenshots to.
|
||||
* `chromedriverUseSystemExecutable` - boolean flag to use the default Chromedriver
|
||||
installed with Appium, avoiding any attempt to find correct Chromedriver.
|
||||
* `disableWindowAnimation` - disable window animations on device (now available
|
||||
on UiAutomator _and_ UiAutomator2).
|
||||
* `pageLoadStrategy` - page load strategy for Chromedriver.
|
||||
* Allow test-only APKs to be installed.
|
||||
* Fix implicit wait handling for finding elements.
|
||||
* Better handle Unicode IME installation.
|
||||
* Relax package validation logic.
|
||||
* Fix error in UiAutomator searches with nested quotes.
|
||||
* Perform accessibility refresh when needed on UiAutomator2.
|
||||
* Improve logic for determining if apps need upgrade.
|
||||
* Fix screen recording to allow longer recordings, up to 30 minutes.
|
||||
|
||||
|
||||
CHANGES IN VERSION 1.8.1 (from 1.8.0)
|
||||
===================================
|
||||
|
||||
Appium 1.8.1 introduces multiple fixes and features. Most notably, it improves the performance of XCUITest
|
||||
getPageSource.
|
||||
|
||||
#### General
|
||||
* Fix shrinkwrap problem caused due to package-lock being set to false (#10660)
|
||||
|
||||
#### iOS
|
||||
* Add keyboard presence verification endpoint (see http://appium.io/docs/en/commands/device/keys/is-keyboard-shown/)
|
||||
* Add `mobile:startLogsBroadcast` feature (see http://appium.io/docs/en/commands/mobile-command/)
|
||||
* Add cap called `realDeviceScreenshotter` to use idevicescreenshot for real device screenshots
|
||||
* Add application platform verification
|
||||
* Validates that `webdriverAgentUrl` capability is a valid URL
|
||||
* Add an extension to retrieve battery info from a real device
|
||||
* Fix Safari console log retrieval
|
||||
|
||||
#### Android
|
||||
* Return the current connection state instead of undefined for setNetworkConnection
|
||||
* Add a possibility to include stderr output into adb:shell call (see https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/android/android-shell.md#supported-arguments)
|
||||
* Add flags argument to pressKeyCode so it is possible to generate IME actions if needed (UIAutomator2 only)
|
||||
* Add a cap called `userProfile` which is an integer to enforce user profile while launching applications
|
||||
* Make it possible to retrieve a battery info from the device under test (mobile:batteryInfo)
|
||||
* Add `deviceApiLevel` to returned session capabilities (UIAutomator2 only)
|
||||
* Fix passing suppressKillServer option while creating ADB instance
|
||||
* Improve performance of swipe unlock action
|
||||
* Improve restore from background behaviour
|
||||
|
||||
CHANGES IN VERSION 1.8.0 (from 1.7.2)
|
||||
===================================
|
||||
|
||||
@@ -1140,8 +295,6 @@ the automation process configurable.
|
||||
* Fix licensing in all dependencies.
|
||||
|
||||
#### Android
|
||||
* Added handlers for basic system alerts, so now it is possible to accept/decline/get text of the most of
|
||||
them using the standard Selenium's switchTo().alert() interface (UIA2 only)
|
||||
* Fix backgrounding of app.
|
||||
* Add `androidInstallPath` capability to specify where on the device apps are installed.
|
||||
* Speed up taking screenshots on Android 5.0 and higher devices.
|
||||
|
||||
@@ -77,7 +77,6 @@ The current committers are (in addition to the TC members above):
|
||||
* [@triager](https://github.com/triager)
|
||||
* [@ddkjin](https://github.com/ddkjin)
|
||||
* [@stuartbrussell-intuit](https://github.com/stuartbrussell-intuit)
|
||||
* [@vmaxim](https://github.com/vmaxim)
|
||||
|
||||
### Contributors
|
||||
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
## Appium
|
||||
|
||||
[](https://npmjs.org/package/appium)
|
||||
[](https://github.com/appium/appium/actions/workflows/node.js.yml)
|
||||
[](https://david-dm.org/appium/appium)
|
||||
[](https://david-dm.org/appium/appium#info=devDependencies)
|
||||
|
||||
[](https://npmjs.org/package/appium)
|
||||
[](http://issuestats.com/github/appium/appium)
|
||||
[](http://issuestats.com/github/appium/appium)
|
||||
|
||||
[](https://team-appium.ci.cloudbees.com/job/Appium/)
|
||||
[](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fappium%2Fappium?ref=badge_shield)
|
||||
|
||||
Appium is an open-source, cross-platform test automation tool for native,
|
||||
hybrid, and mobile web and desktop apps. We support simulators (iOS), emulators
|
||||
Appium is an open source, cross-platform test automation tool for native,
|
||||
hybrid and mobile web and desktop apps. We support simulators (iOS), emulators
|
||||
(Android), and real devices (iOS, Android, Windows, Mac).
|
||||
|
||||
Want to skip straight to the action? Check out our [getting
|
||||
@@ -25,16 +29,17 @@ specific information about how that driver works and how to set it up:
|
||||
* The [XCUITest Driver](/docs/en/drivers/ios-xcuitest.md)
|
||||
* (DEPRECATED) The [UIAutomation Driver](/docs/en/drivers/ios-uiautomation.md)
|
||||
* Android
|
||||
* The [Espresso Driver](/docs/en/drivers/android-espresso.md)
|
||||
* (BETA) The [Espresso Driver](/docs/en/drivers/android-espresso.md)
|
||||
* The [UiAutomator2 Driver](/docs/en/drivers/android-uiautomator2.md)
|
||||
* (DEPRECATED) The [UiAutomator Driver](/docs/en/drivers/android-uiautomator.md)
|
||||
* (DEPRECATED) The [Selendroid Driver](/docs/en/drivers/android-selendroid.md)
|
||||
* The [Windows Driver](/docs/en/drivers/windows.md) (for Windows Desktop apps)
|
||||
* The [Mac Driver](/docs/en/drivers/mac.md) (for Mac Desktop apps)
|
||||
|
||||
### Why Appium?
|
||||
|
||||
1. You don't have to recompile your app or modify it in any way, due
|
||||
to the use of standard automation APIs on all platforms.
|
||||
to use of standard automation APIs on all platforms.
|
||||
2. You can write tests with your favorite dev tools using any
|
||||
[WebDriver](https://w3c.github.io/webdriver/webdriver-spec.html)-compatible
|
||||
language such as Java, Objective-C, JavaScript (Node), PHP, Python, Ruby,
|
||||
@@ -42,22 +47,22 @@ specific information about how that driver works and how to set it up:
|
||||
client libraries](/docs/en/about-appium/appium-clients.md).
|
||||
3. You can use any testing framework.
|
||||
4. Appium has built-in mobile web and hybrid app support. Within the same
|
||||
script, you can switch seamlessly between native app automation and webview
|
||||
script you can switch seamlessly between native app automation and webview
|
||||
automation, all using the WebDriver model that's already the standard for
|
||||
web automation.
|
||||
|
||||
Investing in the
|
||||
[WebDriver](https://w3c.github.io/webdriver/webdriver-spec.html) protocol means
|
||||
you are betting on a single, free, and open protocol for testing that has become
|
||||
you are betting on a single, free and open protocol for testing that has become
|
||||
a web standard. Don't lock yourself into a proprietary stack.
|
||||
|
||||
For example, if you use Apple's XCUITest library without Appium you can only
|
||||
write tests using Obj-C/Swift, and you can only run tests through Xcode.
|
||||
Similarly, with Google's UiAutomator or Espresso, you can only write tests in
|
||||
Java/Kotlin. Appium opens up the possibility of true cross-platform native app
|
||||
Similarly, with Google's UiAutomator or Espresso you can only write tests in
|
||||
Java. Appium opens up the possibility of true cross-platform native app
|
||||
automation, for mobile and beyond. Finally!
|
||||
|
||||
If you're new to Appium or want a more comprehensive description of what this is all
|
||||
If you're new to Appium, or want a fuller description of what this is all
|
||||
about, please read our [Introduction to Appium
|
||||
Concepts](/docs/en/about-appium/intro.md).
|
||||
|
||||
@@ -66,15 +71,15 @@ Concepts](/docs/en/about-appium/intro.md).
|
||||
Your environment needs to be set up for the particular platforms that you want
|
||||
to run tests on. Each of the drivers above documents the requirements for their
|
||||
particular brand of automation. At a minimum, you will need to be able to run
|
||||
Node.js 10+.
|
||||
Node.js 6+.
|
||||
|
||||
### Get Started
|
||||
|
||||
Check out our [Getting Started](/docs/en/about-appium/getting-started.md) guide
|
||||
to get going with Appium.
|
||||
|
||||
There is also a sample code that contains [many examples of tests in a variety
|
||||
of different languages](https://github.com/appium/appium/tree/master/sample-code)!
|
||||
There is also a repository that contains [many examples of tests in a variety
|
||||
of different languages](https://github.com/appium/sample-code)!
|
||||
|
||||
### Documentation
|
||||
|
||||
@@ -82,16 +87,10 @@ For prettily-rendered docs, please visit [appium.io](http://appium.io). You can
|
||||
always find the full list of Appium doc pages at [Appium's GitHub
|
||||
Repo](https://github.com/appium/appium/tree/master/docs/en/) as well.
|
||||
|
||||
[update-appium-io.yml](https://github.com/appium/appium/blob/master/ci-jobs/update-appium-io.yml) creates a PR
|
||||
by [CI job](https://dev.azure.com/AppiumCI/Appium%20CI/_build?definitionId=37).
|
||||
in the appium.io repository with the documentation update.
|
||||
|
||||
Once the PR has been merged, the latest documentation will be in [appium.io](http://appium.io)
|
||||
|
||||
### Contributing
|
||||
|
||||
Please take a look at our [contribution documentation](CONTRIBUTING.md)
|
||||
for instructions on how to build, test, and run Appium from the source.
|
||||
for instructions on how to build, test and run Appium from source.
|
||||
|
||||
### Roadmap
|
||||
|
||||
@@ -110,7 +109,7 @@ Group](https://discuss.appium.io), be sure to sign up!
|
||||
### Troubleshooting
|
||||
|
||||
We put together a [troubleshooting
|
||||
guide](/docs/en/writing-running-appium/other/troubleshooting.md). Please have a look
|
||||
guide](/docs/en/writing-running-appium/troubleshooting.md). Please have a look
|
||||
here first if you run into any problems. It contains instructions for checking
|
||||
a lot of common errors and how to get in touch with the community if you're
|
||||
stumped.
|
||||
|
||||
+2
-2
@@ -23,7 +23,9 @@ exists to outline large-scale future plans for Appium.
|
||||
|
||||
| Project | Description |
|
||||
|---------|-------------|
|
||||
|[Onboarding Overhaul](https://github.com/appium/appium/issues/7169)|The current Appium docs leave a lot to be desired. The format is confusing (it would be better for API docs), the content is outdated, and many things are still undocumented. This project would go back to the drawing board in all of these areas and put together something genuinely helpful for the community, which hopefully reduces the kind of support issues we're currently flooded by.|
|
||||
|[Appium Client Library Updates](https://github.com/appium/appium/issues/7170)|It's been too long since we ensured that Appium's client libraries were up to date with the server|
|
||||
|[Sample Code Overhaul](https://github.com/appium/appium/issues/7171)|Our sample code repo has grown tangled and broken. Let's make a new one with minimal examples which are the same across every language, and actually maintain the repo so as not to let it become overgrown.|
|
||||
|[Test App Overhaul](https://github.com/appium/appium/issues/7172)|Our current test applications (the ones used to test Appium's iOS and Android support) are not ideal. We use too many of them and the ones we use have a random hodgepodge of app SDK features, sometimes not enough to sufficiently test automation support. It'd be great to find a way to ensure our test app(s) have all the features we need to test, and keep in sync with our requirements.|
|
||||
|[iOS Test Startup Time Improvement](https://github.com/appium/appium/issues/7173)|iOS startup times have gotten progressively longer with each iOS release. In part this is Apple's fault and there's not anything we can do about it. But we should investigate and see if we can be more efficient in how we start, especially given that we can now focus on XCUITest and leave Instruments behind|
|
||||
|[Appium Dearchitecture](https://github.com/appium/appium/issues/7174)|OK, we went a bit overboard in Appium 1.5 by exploding Appium into 40+ repos and NPM packages. Let's think a little more critically about it and consolidate into the minimal number of repos/packages that make sense for our code and community patterns.|
|
||||
@@ -41,8 +43,6 @@ exists to outline large-scale future plans for Appium.
|
||||
|
||||
| Project | Description | Completed | Appium Release | Notes |
|
||||
|---------|-------------|-----------|----------------|-------|
|
||||
|[Sample Code Overhaul](https://github.com/appium/appium/issues/7171)|Our sample code repo has grown tangled and broken. Let's make a new one with minimal examples which are the same across every language, and actually maintain the repo so as not to let it become overgrown.|
|
||||
|[Onboarding Overhaul](https://github.com/appium/appium/issues/7169)|Have a new site built with MkDocs that documents all of the Selenium and Appium commands with code samples|1/2018|n/a|appium.io|
|
||||
|[New Appium GUIs](https://github.com/appium/appium/issues/7167)|The current Appium GUIs (Appium.app and Appium.exe) have a number of issues. They aren't maintained by the core Appium team. They're written in Objective-C and C# respectively: two languages, and specifically, two languages other than Appium's core language. Because of this they lag behind the Appium server and are often broken. However, users love them primarily because of the Inspector feature (the thing that lets them graphically navigate their app), so we have to field a ton of complaints about these projects. There's an opportunity to start over. With [Electron](http://electron.atom.io/), we'd be able to take the new version of Appium we're working on and embed it directly inside a Node-based GUI app written using the languages and technologies the core team is experienced with. We'd have one codebase and could distribute the app on Mac, Windows, and Linux. The GUIs would become an official part of Appium's release cycle so they wouldn't be broken.|3/2017|N/A|[Appium Desktop website](https://github.com/appium/appium-desktop)|
|
||||
|[Android 7.1.1 Support](https://github.com/appium/appium/issues/7165)|Google has released Android 7.1.1 (API Level 25). Ensure it works with UiAutomator 1/2|2/2017|1.6.4||
|
||||
|[Android 7.0 Support](https://github.com/appium/appium/issues/7156)|Support Android 7 (Nougat)|11/2016|1.6.3||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/* eslint no-console:0 */
|
||||
|
||||
/*
|
||||
* Small tool, launching and monitoring ios-web-kit-proxy, and relauching
|
||||
* on predefined errors.
|
||||
*
|
||||
* Usage:
|
||||
* ./bin/ios-webkit-debug-proxy-launcher.js [args]
|
||||
* args: ios-webkit-debug-proxy args (they will be passed over)
|
||||
*
|
||||
* Example:
|
||||
* ./bin/ios-webkit-debug-proxy-launcher.js -c <UDID>:27753 -d
|
||||
*
|
||||
* Note:
|
||||
* For iOS8.1 try this first:
|
||||
* brew install --HEAD ideviceinstaller
|
||||
*/
|
||||
|
||||
"use strict";
|
||||
|
||||
const spawn = require('child_process').spawn;
|
||||
const _ = require('lodash');
|
||||
|
||||
const args = process.argv.slice(2);
|
||||
|
||||
const RESTART_ON_MESSAGES = [
|
||||
'Invalid message _rpc_applicationUpdated',
|
||||
'Invalid message _rpc_applicationSentListing'];
|
||||
|
||||
const PROXY_CMD = 'ios_webkit_debug_proxy';
|
||||
let proxy;
|
||||
|
||||
const handleKillProcess = function (exitCode) {
|
||||
console.log('\nKilling proxy process!');
|
||||
proxy.kill('SIGTERM');
|
||||
process.exit((exitCode || 0));
|
||||
};
|
||||
|
||||
const startProxy = function () {
|
||||
console.log('RUNNING:', PROXY_CMD, args.join(' '));
|
||||
|
||||
proxy = spawn(PROXY_CMD, args);
|
||||
|
||||
proxy.stdout.on('data', function (data) {
|
||||
console.log('stdout: ' + data);
|
||||
});
|
||||
|
||||
proxy.stderr.on('data', function (data) {
|
||||
console.log('stderr: ' + data);
|
||||
const restartMessage = _(RESTART_ON_MESSAGES).find(function (message) {
|
||||
return ('' + data).indexOf(message) >= 0;
|
||||
});
|
||||
if (restartMessage) {
|
||||
console.log('Detected error message:', restartMessage);
|
||||
console.log('Killing proxy!');
|
||||
proxy.kill('SIGTERM');
|
||||
process.nextTick(startProxy);
|
||||
}
|
||||
});
|
||||
|
||||
proxy.on('close', function (code) {
|
||||
console.log('child process exited with code ' + code);
|
||||
});
|
||||
};
|
||||
|
||||
process.on('SIGINT', handleKillProcess);
|
||||
process.on('SIGTERM', handleKillProcess);
|
||||
|
||||
startProxy();
|
||||
Binary file not shown.
@@ -1,40 +0,0 @@
|
||||
# parameters: # No params yet, but may add later
|
||||
jobs:
|
||||
- job: generate_docs
|
||||
pool:
|
||||
vmImage: "macOS 10.14"
|
||||
variables:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '12.x'
|
||||
- script: |
|
||||
# do git stuff
|
||||
npm install
|
||||
brew install hub
|
||||
hub --version
|
||||
git remote add triager https://triager:$GITHUB_TOKEN@github.com/appium/appium
|
||||
git checkout -b generate-docs-$BUILD_SOURCEVERSION
|
||||
git status
|
||||
displayName: Checkout Generate Docs Branch
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
- script: |
|
||||
# Generate the docs
|
||||
npm run generate-docs
|
||||
git add .
|
||||
|
||||
# log the status so we know what is going on, on failure
|
||||
git status -s
|
||||
|
||||
# If docs were generated, make a PR to update the docs
|
||||
if [[ -n $(git status -s) ]]; then
|
||||
git commit -a -n -m 'Update generated docs [ci skip]'
|
||||
git push triager generate-docs-$BUILD_SOURCEVERSION
|
||||
hub pull-request -b "appium:master" -h "appium:generate-docs-$BUILD_SOURCEVERSION" -m "docs: Update auto-generated docs"
|
||||
fi
|
||||
displayName: Generate Docs and Make PR
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
@@ -1,2 +0,0 @@
|
||||
jobs:
|
||||
- template: templates/bundle-template.yml
|
||||
@@ -1,3 +0,0 @@
|
||||
const semver = require('semver');
|
||||
const { version } = require('../../package.json');
|
||||
console.log(semver(version).prerelease[0]); //eslint-disable-line no-console
|
||||
@@ -1,22 +0,0 @@
|
||||
const path = require('path');
|
||||
const { fs, logger } = require('appium-support');
|
||||
const { asyncify } = require('asyncbox');
|
||||
const packageJson = require('../../package.json');
|
||||
|
||||
const log = new logger.getLogger('Create Release Branch:');
|
||||
|
||||
async function setPackageJsonVersion (version = `${process.env.MINOR_BRANCH_NAME}.0-rc.0`) {
|
||||
packageJson.version = version;
|
||||
log.info(`Setting version to: ${version}`);
|
||||
await fs.writeFile(
|
||||
path.resolve(__dirname, '..', '..', 'package.json'),
|
||||
JSON.stringify(packageJson, null, 2),
|
||||
'utf8',
|
||||
);
|
||||
}
|
||||
|
||||
if (require.main === module) {
|
||||
asyncify(setPackageJsonVersion);
|
||||
}
|
||||
|
||||
module.exports = setPackageJsonVersion;
|
||||
@@ -1,40 +0,0 @@
|
||||
# parameters: # No params yet, but may add later
|
||||
jobs:
|
||||
- job: bundle_and_upload_appium_zip
|
||||
pool:
|
||||
vmImage: 'macOS 10.14'
|
||||
variables:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
steps:
|
||||
- script: gcc --version
|
||||
displayName: Print GCC Version
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '12.x'
|
||||
- script: npm install
|
||||
displayName: Install NPM Dependencies
|
||||
- script: npm run build
|
||||
displayName: npm run build
|
||||
- script: npm prune --production
|
||||
displayName: Get rid of dev dependencies
|
||||
- script: |
|
||||
curl -o node-darwin.tar.gz https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz
|
||||
mkdir node-darwin-unpacked
|
||||
tar -xzf node-darwin.tar.gz -C node-darwin-unpacked/ --strip-components 1
|
||||
rm -f node-darwin.tar.gz
|
||||
cp node-darwin-unpacked/bin/node node-darwin
|
||||
rm -rf node-darwin-unpacked
|
||||
displayName: Download NodeJS
|
||||
- script: npm run zip
|
||||
displayName: Create the bundle zip
|
||||
- script: npm install
|
||||
displayName: Reinstall dev dependencies
|
||||
- task: PublishPipelineArtifact@0
|
||||
inputs:
|
||||
targetPath: appium.zip
|
||||
artifactName: appium
|
||||
- script: npm run upload
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
displayName: Upload to appium/appium-build-store Github Releases
|
||||
@@ -1,31 +0,0 @@
|
||||
# parameters: # No params yet, but may add later
|
||||
jobs:
|
||||
- job: update_appium_io
|
||||
pool:
|
||||
vmImage: 'Ubuntu-18.04'
|
||||
variables:
|
||||
CC: gcc
|
||||
CXX: g++
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '10.x'
|
||||
- script: |
|
||||
pip install mkdocs==0.16.3
|
||||
git config --global user.email "maintainers@appium.io"
|
||||
git config --global user.name "Appium Triager"
|
||||
git clone https://triager:$GITHUB_TOKEN@github.com/appium/appium.io.git --branch=gh-pages
|
||||
pushd appium.io
|
||||
git remote add triager https://triager:$GITHUB_TOKEN@github.com/appium/appium.io
|
||||
git checkout -b docs-$BUILD_SOURCEVERSION
|
||||
bundle install
|
||||
npm install
|
||||
npm run build:docs
|
||||
git add docs
|
||||
git commit -a -n -m "docs: Update documentation for latest version"
|
||||
git push triager docs-$BUILD_SOURCEVERSION
|
||||
hub pull-request -b "appium:gh-pages" -h "appium:docs-$BUILD_SOURCEVERSION" -m "docs: Update documentation for latest version"
|
||||
popd
|
||||
displayName: Make branch with Updated Docs and make PR
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"presets": ["env"]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
## Appium API Documentation
|
||||
|
||||
<div class="api-index">
|
||||
{{#*inline "commands"}}
|
||||
{{#each commands}}
|
||||
<li>
|
||||
{{#if path}}<a href='{{path}}'>{{name}}</a>{{else}}{{name}}<ul>{{>commands}}</ul>{{/if}}
|
||||
</li>
|
||||
{{/each}}
|
||||
{{/inline}}
|
||||
|
||||
<ul>
|
||||
{{>commands}}
|
||||
</ul>
|
||||
</div>
|
||||
+12
-11
@@ -26,23 +26,24 @@ example_usage:
|
||||
let context = await driver.currentContext();
|
||||
javascript_wdio:
|
||||
|
|
||||
let context = driver.getContext();
|
||||
let context = driver.context();
|
||||
ruby:
|
||||
|
|
||||
context = current_context
|
||||
ruby_core:
|
||||
context = @driver.current_context
|
||||
php:
|
||||
|
|
||||
$context = $driver->context();
|
||||
csharp:
|
||||
|
|
||||
string Context = driver.Context;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#getContext--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.context.Context.current_context"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#getcontext"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#getContext--"
|
||||
python: "https://github.com/appium/python-client/blob/master/README.md#switching-between-native-and-webview"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/context.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -51,7 +52,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -62,6 +62,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -69,7 +70,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/context
|
||||
url: /wd/hub/session/:session_id/context
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+12
-19
@@ -8,9 +8,6 @@ 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.
|
||||
|
||||
For information on contexts, see Appium's [hybrid automation docs](/docs/en/writing-running-appium/web/hybrid.md).
|
||||
|
||||
@@ -26,28 +23,24 @@ example_usage:
|
||||
let contexts = await driver.contexts();
|
||||
javascript_wdio:
|
||||
|
|
||||
let contexts = driver.getContexts();
|
||||
let contexts = driver.contexts();
|
||||
ruby:
|
||||
|
|
||||
context = available_contexts
|
||||
ruby_core:
|
||||
contexts = @driver.available_contexts
|
||||
php:
|
||||
|
|
||||
context = @driver.available_contexts
|
||||
$contexts = $driver->contexts();
|
||||
csharp:
|
||||
|
|
||||
List<string> AllContexts = new List<string>();
|
||||
foreach (var context in (driver.Contexts))
|
||||
{
|
||||
AllContexts.Add(context);
|
||||
}
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#getContextHandles--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.context.Context.contexts"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#getcontexts"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#getContextHandles--"
|
||||
python: "https://github.com/appium/python-client/blob/master/README.md#switching-between-native-and-webview"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/contexts.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -56,7 +49,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -67,6 +59,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -74,7 +67,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/contexts
|
||||
url: /wd/hub/session/:session_id/contexts
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+17
-25
@@ -34,41 +34,33 @@ example_usage:
|
||||
await driver.context('NATIVE_APP');
|
||||
javascript_wdio:
|
||||
|
|
||||
let contexts = driver.getContexts();
|
||||
driver.switchContext(contexts[1]);
|
||||
let contexts = driver.contexts();
|
||||
driver.context(contexts[1]);
|
||||
// ...
|
||||
driver.switchContext('NATIVE_APP');
|
||||
driver.context('NATIVE_APP');
|
||||
ruby:
|
||||
|
|
||||
webview = available_contexts[1]
|
||||
set_context(webview)
|
||||
# ...
|
||||
set_context('NATIVE_APP')
|
||||
ruby_core:
|
||||
|
|
||||
webview = @driver.available_contexts[1]
|
||||
@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
|
||||
List<string> AllContexts = new List<string>();
|
||||
foreach (var context in (driver.Contexts))
|
||||
{
|
||||
AllContexts.Add(context);
|
||||
}
|
||||
driver.Context = (AllContexts[1]);
|
||||
// Switch to NATIVE_APP
|
||||
driver.Context = ("NATIVE_APP");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#context-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.context.Context.context"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#switchcontext"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#context-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/README.md#switching-between-native-and-webview"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/context.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -77,7 +69,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -88,6 +79,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -95,7 +87,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/context
|
||||
url: /wd/hub/session/:session_id/context
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+15
-15
@@ -8,31 +8,31 @@ example_usage:
|
||||
String activity = driver.currentActivity();
|
||||
python:
|
||||
|
|
||||
activity = self.driver.current_activity;
|
||||
activity = self.driver.current_activity();
|
||||
javascript_wd:
|
||||
|
|
||||
let activity = await driver.getCurrentActivity();
|
||||
javascript_wdio:
|
||||
|
|
||||
let activity = driver.getCurrentActivity();
|
||||
let activity = driver.currentActivity();
|
||||
ruby:
|
||||
|
|
||||
current_activity
|
||||
ruby_core:
|
||||
|
|
||||
@driver.current_activity
|
||||
php:
|
||||
|
|
||||
$activity = $driver->currentActivity();
|
||||
csharp:
|
||||
|
|
||||
string activity = driver.CurrentActivity;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/StartsActivity.html#currentActivity--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.activities.Activities.current_activity"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getcurrentactivity"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/StartsActivity.html#currentActivity--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L447"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/currentActivity.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -40,7 +40,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -58,7 +58,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/current_activity
|
||||
url: /wd/hub/session/:session_id/device/current_activity
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -69,4 +69,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L366
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L366
|
||||
+16
-20
@@ -1,38 +1,34 @@
|
||||
---
|
||||
name: Get Current Package
|
||||
short_description: Get the name of the current Android package
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
String package = driver.getCurrentPackage();
|
||||
python:
|
||||
|
|
||||
package = self.driver.current_package;
|
||||
package = self.driver.current_package();
|
||||
javascript_wd:
|
||||
|
|
||||
let package = await driver.getCurrentPackage();
|
||||
javascript_wdio:
|
||||
|
|
||||
let package = driver.getCurrentPackage();
|
||||
ruby:
|
||||
|
|
||||
current_package
|
||||
ruby_core:
|
||||
|
|
||||
@driver.current_package
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
string package = driver.CurrentPackage;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/StartsActivity.html#getCurrentPackage--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.common.Common.current_package"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/StartsActivity.html#getCurrentPackage--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L453"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2526"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -40,7 +36,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,14 +46,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: false
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/current_package
|
||||
url: /wd/hub/session/:session_id/device/current_package
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -68,5 +64,5 @@ endpoint:
|
||||
description: Name of the current [package](https://developer.android.com/reference/java/lang/Package.html)
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L369
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L369
|
||||
+14
-13
@@ -19,23 +19,24 @@ example_usage:
|
||||
|
|
||||
driver.startActivity("com.example", "ActivityName");
|
||||
ruby:
|
||||
|
|
||||
start_activity app_package: "com.example", app_activity: "ActivityName"
|
||||
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");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/AndroidMobileCommandHelper.html#startActivityCommand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-boolean-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.activities.Activities.start_activity"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#startactivity"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/AndroidMobileCommandHelper.html#startActivityCommand-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-boolean-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L591"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/startActivity.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -43,7 +44,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -54,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -61,7 +62,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/start_activity
|
||||
url: /wd/hub/session/:session_id/device/start_activity
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -94,4 +95,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L411
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L411
|
||||
+12
-12
@@ -9,7 +9,7 @@ description:
|
||||
There are 3 types of parameters which may be passed to this method:
|
||||
|
||||
|
||||
1. An object that looks like `{"seconds": secs}`, where `secs` is an
|
||||
1. An object that looks like `{"timeout": secs}`, where `secs` is an
|
||||
integer designating how long, in seconds, to background the app for. -1
|
||||
means to deactivate the app entirely.
|
||||
|
||||
@@ -37,22 +37,22 @@ example_usage:
|
||||
|
|
||||
driver.background(10);
|
||||
ruby:
|
||||
|
|
||||
background_app(10)
|
||||
ruby_core:
|
||||
|
|
||||
@driver.background_app(10)
|
||||
php:
|
||||
|
|
||||
$driver->backgroundApp(10);
|
||||
csharp:
|
||||
|
|
||||
driver.BackgroundApp(10)
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#runAppInBackground-java.time.Duration-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.background_app"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#background"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#runAppInBackground-java.time.Duration-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L529"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/background.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -61,7 +61,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -72,6 +71,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -91,4 +91,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L439
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L439
|
||||
+13
-13
@@ -13,25 +13,25 @@ example_usage:
|
||||
await driver.closeApp();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.closeApp();
|
||||
driver.close_app();
|
||||
ruby:
|
||||
|
|
||||
close_app
|
||||
ruby_core:
|
||||
|
|
||||
@driver.close_app
|
||||
php:
|
||||
|
|
||||
$driver->closeApp();
|
||||
csharp:
|
||||
|
|
||||
driver.CloseApp();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#closeApp--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.close_app"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#closeapp"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#closeApp--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L584"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/closeApp.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -39,7 +39,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: false
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -50,6 +49,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -65,4 +65,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L433
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L433
|
||||
+11
-15
@@ -11,27 +11,23 @@ example_usage:
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.endTestCoverageForApp("Intent", "/path");
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.endCoverage("Intent", "/path");
|
||||
ruby:
|
||||
|
|
||||
end_coverage("Intent", "/path")
|
||||
ruby_core:
|
||||
|
|
||||
@driver.end_coverage("Intent", "/path")
|
||||
php:
|
||||
|
|
||||
$driver->endTestCoverage('Intent', '/path');
|
||||
csharp:
|
||||
|
|
||||
driver.EndTestCoverage("Intent", "/path");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#endTestCoverage-java.lang.String-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.common.Common.end_test_coverage"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#endTestCoverage-java.lang.String-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L627"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2858"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -39,7 +35,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -50,6 +45,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: false
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -72,4 +68,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L442
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L442
|
||||
+13
-13
@@ -13,25 +13,25 @@ example_usage:
|
||||
let appStrings = await driver.getAppStrings();
|
||||
javascript_wdio:
|
||||
|
|
||||
let appStrings = driver.getStrings("en");
|
||||
let appStrings = driver.getAppStrings("en");
|
||||
ruby:
|
||||
|
|
||||
app_strings("en")
|
||||
ruby_core:
|
||||
|
|
||||
@driver.app_strings("en")
|
||||
php:
|
||||
|
|
||||
$strings = $driver->appStrings();
|
||||
csharp:
|
||||
|
|
||||
Dictionary<string, object> appStrings = driver.GetAppStringDictionary("end", "/path/to/file");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/HasAppStrings.html#getAppStringMap--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.app_strings"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getstrings"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/HasAppStrings.html#getAppStringMap--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L357"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/getAppStrings.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -39,7 +39,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -50,6 +49,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -72,4 +72,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L445
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L445
|
||||
+13
-13
@@ -20,23 +20,23 @@ example_usage:
|
||||
|
|
||||
driver.installApp('/Users/johndoe/path/to/app.apk')
|
||||
ruby:
|
||||
|
|
||||
install_app('/Users/johndoe/path/to/app.apk')
|
||||
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")
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#installApp-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.install_app"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#installapp"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#installApp-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L554"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/installApp.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -44,7 +44,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -55,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -62,7 +62,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/install_app
|
||||
url: /wd/hub/session/:session_id/device/install_app
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -74,4 +74,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L372
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L372
|
||||
+13
-13
@@ -21,22 +21,22 @@ example_usage:
|
||||
driver.isAppInstalled('com.example.AppName')
|
||||
ruby:
|
||||
|
|
||||
app_installed?('com.example.AppName')
|
||||
ruby_core:
|
||||
@driver.app_installed?('com.example.AppName');
|
||||
php:
|
||||
|
|
||||
@driver.app_installed?('com.example.AppName')
|
||||
$driver->isAppInstalled('com.example.AppName')
|
||||
csharp:
|
||||
|
|
||||
driver.IsAppInstalled("com.example.AppName");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#isAppInstalled-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.is_app_installed"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#isappinstalled"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#isAppInstalled-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L542"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/isAppInstalled.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -44,7 +44,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -55,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -62,7 +62,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/app_installed
|
||||
url: /wd/hub/session/:session_id/device/app_installed
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -77,4 +77,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L378
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L378
|
||||
+15
-18
@@ -1,11 +1,8 @@
|
||||
---
|
||||
name: Launch App
|
||||
short_description: Launch the app-under-test on the device
|
||||
name: Launch an App
|
||||
short_description: Launch an app on device
|
||||
description:
|
||||
>
|
||||
If the app-under-test (AUT) is closed, or backgrounded, it will launch it.
|
||||
If the AUT is already open, it will background it and re-launch it.
|
||||
|
||||
iOS tests with XCUITest can also use the `mobile: launchApp` method. See
|
||||
detailed [documentation](/docs/en/writing-running-appium/ios/ios-xctest-mobile-apps-management.md#mobile-launchapp).
|
||||
|
||||
@@ -21,25 +18,25 @@ example_usage:
|
||||
await driver.launchApp();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.launchApp();
|
||||
driver.launch();
|
||||
ruby:
|
||||
|
|
||||
launch_app
|
||||
ruby_core:
|
||||
|
|
||||
@driver.launch_app
|
||||
php:
|
||||
|
|
||||
$driver->launchApp();
|
||||
csharp:
|
||||
|
|
||||
driver.LaunchApp();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#launchApp--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.launch_app"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#launchapp"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#launchApp--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L578"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/launch.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -47,7 +44,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: false
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -58,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -73,4 +70,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L430
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L430
|
||||
+13
-13
@@ -21,23 +21,23 @@ example_usage:
|
||||
|
|
||||
driver.removeApp('com.example.AppName')
|
||||
ruby:
|
||||
|
|
||||
remove_app('com.example.AppName')
|
||||
ruby_core:
|
||||
|
|
||||
@driver.remove_app('com.example.AppName')
|
||||
php:
|
||||
|
|
||||
$driver->removeApp('com.example.AppName');
|
||||
csharp:
|
||||
|
|
||||
driver.RemoveApp("com.example.AppName");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#removeApp-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.remove_app"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#removeapp"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#removeApp-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L566"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/removeApp.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -45,7 +45,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -56,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -63,7 +63,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/remove_app
|
||||
url: /wd/hub/session/:session_id/device/remove_app
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -78,4 +78,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L375
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L375
|
||||
+12
-12
@@ -15,23 +15,23 @@ example_usage:
|
||||
|
|
||||
driver.reset();
|
||||
ruby:
|
||||
|
|
||||
reset
|
||||
ruby_core:
|
||||
|
|
||||
@driver.reset
|
||||
php:
|
||||
|
|
||||
$driver->reset();
|
||||
csharp:
|
||||
|
|
||||
driver.ResetApp();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#resetApp--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.applications.Applications.reset"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#reset"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithApps.html#resetApp--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L372"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/reset.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -39,7 +39,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: false
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -50,6 +49,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -65,4 +65,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L436
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L436
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
name: Get Clipboard
|
||||
short_description: Get the content of the system clipboard
|
||||
description:
|
||||
>
|
||||
Get the content of the system clipboard
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.getClipboard(ClipboardContentType.PLAINTEXT); // get plaintext
|
||||
driver.getClipboardText();
|
||||
python:
|
||||
|
|
||||
self.driver.get_clipboard()
|
||||
self.driver.get_clipboard_text()
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.getClipboard();
|
||||
javascript_wdio:
|
||||
|
|
||||
await driver.getClipboard();
|
||||
ruby:
|
||||
|
|
||||
@driver.get_clipboard
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
// CSharp Code here
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--"
|
||||
python: "https://github.com/appium/python-client"
|
||||
javascript_wdio: "http://webdriver.io/index.html"
|
||||
javascript_wd: "https://github.com/admc/wd/releases"
|
||||
ruby: "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
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: true
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
endpoint:
|
||||
url: /wd/hub/session/:session_id/appium/device/get_clipboard
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: contentType
|
||||
type: string
|
||||
description: The type of the content to get. Plaintext, Image, URL. Android supports only plaintext.
|
||||
response:
|
||||
- type: string
|
||||
description: Clipboard content as base64-encoded string or an empty string if the clipboard is empty
|
||||
|
||||
specifications: no
|
||||
@@ -0,0 +1,84 @@
|
||||
---
|
||||
name: Set Clipboard
|
||||
short_description: Set the content of the system clipboard
|
||||
description:
|
||||
>
|
||||
Set the content of the system clipboard
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
// base64Content is Base64-encoded content
|
||||
driver.setClipboard("label", ClipboardContentType.PLAINTEXT, base64Content);
|
||||
driver.setClipboardText("happy testing");
|
||||
python:
|
||||
|
|
||||
self.driver.set_clipboard('happy testing')
|
||||
self.driver.set_clipboard_text('happy testing')
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.setClipboard('happy testing', 'plaintext')
|
||||
javascript_wdio:
|
||||
|
|
||||
await driver.setClipboard('happy testing', 'plaintext')
|
||||
ruby:
|
||||
|
|
||||
@driver.set_clipboard content: 'happy testing'
|
||||
php:
|
||||
|
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
// CSharp Code here
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--"
|
||||
python: "https://github.com/appium/python-client"
|
||||
javascript_wdio: "http://webdriver.io/index.html"
|
||||
javascript_wd: "https://github.com/admc/wd/releases"
|
||||
ruby: "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
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: true
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
endpoint:
|
||||
url: /wd/hub/session/:session_id/appium/device/set_clipboard
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: content
|
||||
type: String
|
||||
description: The actual base64 encoded clipboard content.
|
||||
- name: contentType
|
||||
type: string
|
||||
description: The type of the content to get. Plaintext, Image, URL. Android supports only plaintext.
|
||||
- name: label
|
||||
type: string
|
||||
description: Clipboard data label for Android.
|
||||
response:
|
||||
- type: string
|
||||
description: Response from Appium server
|
||||
|
||||
specifications: no
|
||||
+6
-18
@@ -11,25 +11,13 @@ example_usage:
|
||||
java:
|
||||
|
|
||||
driver.setPowerAC(PowerACState.OFF);
|
||||
python:
|
||||
|
|
||||
self.driver.set_power_ac(Power.AC_OFF)
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.powerAC('on')
|
||||
ruby:
|
||||
|
|
||||
set_power_ac :on
|
||||
ruby_core:
|
||||
|
|
||||
@driver.set_power_ac :on
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/" # TODO: Link
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.power.Power.set_power_ac"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#powerac"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#set_power_ac-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#set_power_ac-instance_method"
|
||||
java: "http://appium.github.io/java-client/" # TODO: Link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Android/Device/Emulator#set_power_ac-instance_method"
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -37,7 +25,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -46,12 +33,13 @@ driver_support:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: false
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -66,5 +54,5 @@ endpoint:
|
||||
description: set the state. on or off
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L381
|
||||
+5
-17
@@ -11,25 +11,13 @@ example_usage:
|
||||
java:
|
||||
|
|
||||
driver.setPowerCapacity(100);
|
||||
python:
|
||||
|
|
||||
self.driver.set_power_capacity(50)
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.powerCapacity(50)
|
||||
ruby:
|
||||
|
|
||||
set_power_capacity 50
|
||||
ruby_core:
|
||||
|
|
||||
@driver.set_power_capacity 50
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/" # TODO: Link
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.power.Power.set_power_capacity"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#powercapacity"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#set_power_capacity-instance_method"
|
||||
ruby_core: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Core/Android/Device/Emulator#set_power_capacity-instance_method"
|
||||
java: "http://appium.github.io/java-client/" # TODO: Link
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/Android/Device/Emulator#set_power_capacity-instance_method"
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -37,7 +25,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -46,8 +33,9 @@ driver_support:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: false
|
||||
@@ -65,5 +53,5 @@ endpoint:
|
||||
description: ercentage value in range [0, 100]
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L378
|
||||
+13
-13
@@ -16,23 +16,23 @@ example_usage:
|
||||
|
|
||||
let data = driver.pullFile('/data/local/tmp/file.txt');
|
||||
ruby:
|
||||
|
|
||||
pull_file('/data/local/tmp/file.txt')
|
||||
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");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithFiles.html#pullFile-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.remote_fs.RemoteFS.pull_file"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#pullfile"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithFiles.html#pullFile-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L491"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/pullFile.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -40,7 +40,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -58,7 +58,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/pull_file
|
||||
url: /wd/hub/session/:session_id/appium/device/pull_file
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -73,4 +73,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L390
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L390
|
||||
+13
-13
@@ -16,23 +16,23 @@ example_usage:
|
||||
|
|
||||
let data = driver.pullFolder('/data/local/tmp/file.txt');
|
||||
ruby:
|
||||
|
|
||||
pull_folder('/data/local/tmp/file.txt')
|
||||
ruby_core:
|
||||
|
|
||||
@driver.pull_folder('/data/local/tmp/file.txt')
|
||||
php:
|
||||
|
|
||||
$folderBase64 = $driver->pullFolder($path);
|
||||
csharp:
|
||||
|
|
||||
byte[] folder = driver.PullFolder("/path/to/device");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/InteractsWithFiles.html#pullFolder-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.remote_fs.RemoteFS.pull_folder"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#pullfolder"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/InteractsWithFiles.html#pullFolder-java.lang.String-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L503"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/pullFolder.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -40,7 +40,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -58,7 +58,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/pull_folder
|
||||
url: /wd/hub/session/:session_id/device/pull_folder
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -73,4 +73,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L393
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L393
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
name: Push File
|
||||
short_description: Place a file onto the device in a particular place
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.pushFile("/path/to/device/foo.bar", new File("/Users/johndoe/files/foo.bar"));
|
||||
python:
|
||||
|
|
||||
self.driver.push_file('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
javascript_wd:
|
||||
|
|
||||
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:
|
||||
|
|
||||
@driver.push_file('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=')
|
||||
php:
|
||||
|
|
||||
$driver->pushFile('/path/to/device/foo.bar', 'QXJlIHlvdXIgYmVlcnMgb2theT8=');
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/PushesFiles.html#pushFile-java.lang.String-java.io.File-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L515"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/pushFile.html"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2640"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false # TODO: Verify this
|
||||
windows:
|
||||
windows: false # TODO: Verify this
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /wd/hub/session/:session_id/appium/device/push_file
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: path
|
||||
type: string
|
||||
description: Path to install the data to
|
||||
- name: data
|
||||
type: string
|
||||
description: Contents of file in base64
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L387
|
||||
+14
-18
@@ -1,14 +1,11 @@
|
||||
---
|
||||
name: Is Device Locked
|
||||
short_description: Check whether the device is locked or not
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
boolean isLocked = driver.isDeviceLocked();
|
||||
python:
|
||||
|
|
||||
self.driver.is_locked()
|
||||
boolean isLocked = driver.isLocked();
|
||||
javascript_wd:
|
||||
|
|
||||
let isLocked = await driver.isLocked();
|
||||
@@ -17,23 +14,22 @@ example_usage:
|
||||
|
|
||||
driver.isLocked();
|
||||
ruby:
|
||||
|
|
||||
device_locked?
|
||||
ruby_core:
|
||||
|
|
||||
@driver.device_locked?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
bool isLocked = driver.IsLocked(); // Supported by IOSDriver & AndroidDriver
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/LocksDevice.html#isDeviceLocked--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.is_locked"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#islocked"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/LocksAndroidDevice.html#isLocked--"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/isLocked.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -41,7 +37,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -52,10 +47,11 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -70,4 +66,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L313
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L313
|
||||
+12
-13
@@ -18,25 +18,24 @@ example_usage:
|
||||
|
|
||||
driver.lock();
|
||||
ruby:
|
||||
|
|
||||
lock
|
||||
lock(5) # lock 5 seconds
|
||||
ruby_core:
|
||||
|
|
||||
@driver.lock
|
||||
@driver.lock(5) # lock 5 seconds
|
||||
php:
|
||||
|
|
||||
$driver->lock(5);
|
||||
csharp:
|
||||
|
|
||||
driver.Lock(); // Supported by IOSDriver & AndroidDriver
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/LocksDevice.html#lockDevice--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.lock"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#lock"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/LocksAndroidDevice.html#lockDevice--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L643"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/lock.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -44,7 +43,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -55,6 +53,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -74,4 +73,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L307
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L307
|
||||
+16
-12
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: Rotate
|
||||
short_description: Rotate the device in three dimensions
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
@@ -11,25 +11,28 @@ example_usage:
|
||||
driver.rotateDevice({x: 114, y: 198, duration: 5, radius: 3, rotation: 220, touchCount: 2});
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.rotateDevice(100, 100);
|
||||
driver.rotate(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 } });
|
||||
// TODO C# sample
|
||||
|
||||
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"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/AppiumDriver.html#rotate-org.openqa.selenium.DeviceRotation-"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/rotate.html"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2470"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
php: "https://github.com/appium/php-client/" # TODO PHP documentation link
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: false
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
@@ -39,14 +42,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/rotate
|
||||
url: /wd/hub/session/:session_id/device/rotate
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -72,5 +76,5 @@ endpoint:
|
||||
description: The length of hold time for the specified gesture, in seconds.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L361
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L361
|
||||
+12
-12
@@ -17,23 +17,23 @@ example_usage:
|
||||
|
|
||||
driver.shake();
|
||||
ruby:
|
||||
|
|
||||
shake
|
||||
ruby_core:
|
||||
|
|
||||
@driver.shake
|
||||
php:
|
||||
|
|
||||
$driver->shake();
|
||||
csharp:
|
||||
|
|
||||
driver.ShakeDevice();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/ios/ShakesDevice.html#shake--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.shake"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#shake"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/ios/ShakesDevice.html#shake--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L655"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/shake.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/iOS/IOSDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -42,7 +42,6 @@ driver_support:
|
||||
uiautomation: true
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false # TODO Confirm this that mouse movements
|
||||
@@ -52,6 +51,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -67,4 +67,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L301
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L301
|
||||
+12
-13
@@ -20,23 +20,22 @@ example_usage:
|
||||
driver.lock()
|
||||
.unlock();
|
||||
ruby:
|
||||
|
|
||||
unlock
|
||||
ruby_core:
|
||||
|
|
||||
@driver.unlock
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
driver.Unlock(); // Supported by IOSDriver & AndroidDriver
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/LocksDevice.html#unlockDevice--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.unlock"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#unlock"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/LocksAndroidDevice.html#unlockDevice---"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/unlock.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/Android/AndroidDriver.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -44,7 +43,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -55,10 +53,11 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -70,4 +69,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L310
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L310
|
||||
+18
-15
@@ -14,25 +14,28 @@ example_usage:
|
||||
await driver.hideDeviceKeyboard();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.hideKeyboard();
|
||||
driver.hideDeviceKeyboard();
|
||||
ruby:
|
||||
|
|
||||
hide_keyboard
|
||||
ruby_core:
|
||||
|
|
||||
@driver.hide_keyboard
|
||||
php:
|
||||
|
|
||||
$driver->hideKeyboard();
|
||||
$driver->hideKeyboard(array(
|
||||
'keyName' => 'Done'
|
||||
));
|
||||
csharp:
|
||||
|
|
||||
driver.HideKeyboard();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/HidesKeyboard.html#hideKeyboard--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.keyboard.Keyboard.hide_keyboard"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#hidekeyboard"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumDriver.cs"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/HidesKeyboard.html#hideKeyboard--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L378"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/hideDeviceKeyboard.html"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2609"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -40,7 +43,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +53,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -58,7 +61,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/hide_keyboard
|
||||
url: /wd/hub/session/:session_id/appium/device/hide_keyboard
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -79,4 +82,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L381
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L381
|
||||
@@ -0,0 +1,52 @@
|
||||
---
|
||||
name: Is Keyboard Shown
|
||||
short_description: Whether or not the soft keyboard is shown
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
boolean isKeyboardShown = driver.isKeyboardShown();
|
||||
ruby:
|
||||
|
|
||||
@driver.is_keyboard_shown
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/HasDeviceDetails.html#isKeyboardShown--"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Core/Device#is_keyboard_shown-instance_method"
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: true
|
||||
client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: false
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /wd/hub/session/:session_id/appium/device/is_keyboard_shown
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
response:
|
||||
- type: boolean
|
||||
description: True if the keyboard is shown.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L384
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
name: Long Press Key Code
|
||||
short_description: Press and hold a particular key code on the device
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.longPressKeyCode(AndroidKeyCode.HOME);
|
||||
python:
|
||||
|
|
||||
self.driver.long_press_keycode(10);
|
||||
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.longPressKeyCode(10);
|
||||
ruby:
|
||||
|
|
||||
@driver.long_press_keycode(10)
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/PressesKeyCode.html#longPressKeyCode-int-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L431"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/longPressKeycode.html"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false # TODO Confirm this that mouse movements
|
||||
windows:
|
||||
windows: false # TODO Confirm this
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/long_press_keycode
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: keycode
|
||||
type: number
|
||||
description: Key code pressed on the device. See [Key Event](http://developer.android.com/reference/android/view/KeyEvent.html).
|
||||
- name: metastate
|
||||
type: number
|
||||
description: Metastate for the keypress
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L331
|
||||
@@ -0,0 +1,73 @@
|
||||
---
|
||||
name: Press Key Code
|
||||
short_description: Press a particular key on the device
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.pressKeyCode(AndroidKeyCode.SPACE, AndroidKeyMetastate.META_SHIFT_ON);
|
||||
python:
|
||||
|
|
||||
self.driver.press_keycode(10);
|
||||
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.pressKeycode(10);
|
||||
ruby:
|
||||
|
|
||||
@driver.press_keycode(10)
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/PressesKeyCode.html#pressKeyCode-int-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L415"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/longPressKeycode.html"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false # TODO Confirm this that mouse movements
|
||||
windows:
|
||||
windows: false # TODO Confirm this
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/press_keycode
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: keycode
|
||||
type: number
|
||||
description: Key code pressed on the device. See [Key Event](http://developer.android.com/reference/android/view/KeyEvent.html).
|
||||
- name: metastate
|
||||
type: number
|
||||
description: Metastate for the keypress
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L328
|
||||
+11
-23
@@ -3,35 +3,23 @@ name: GSM Call
|
||||
short_description: Make GSM call (Emulator only)
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.makeGsmCall("5551234567", GsmCallActions.CALL);
|
||||
python:
|
||||
|
|
||||
self.driver.make_gsm_call('5551234567', GsmCallActions.CALL)
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.gsmCall('555-123-4567', 'Phone');
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.gsmCall('555-123-4567', 'call');
|
||||
ruby:
|
||||
|
|
||||
gsm_call(phone_number: '5551234567', action: :call)
|
||||
ruby_core:
|
||||
@driver.gsm_call(phone_number: '555-123-4567', action: :call)
|
||||
php:
|
||||
|
|
||||
@driver.gsm_call(phone_number: '5551234567', action: :call)
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsSpecialEmulatorCommands.html#makeGsmCall-java.lang.String-io.appium.java_client.android.GsmCallActions-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.gsm.Gsm.make_gsm_call"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3183"
|
||||
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"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/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
|
||||
@@ -40,17 +28,17 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
espresso: true
|
||||
uiautomator2: false
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -71,5 +59,5 @@ endpoint:
|
||||
description: The action - 'call', 'accept', 'cancel', 'hold'.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L340
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L340
|
||||
+12
-24
@@ -3,35 +3,23 @@ name: GSM Signal
|
||||
short_description: Set GSM signal strength (Emulator only)
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.setGsmSignalStrength(GsmSignalStrength.GOOD);
|
||||
python:
|
||||
|
|
||||
self.driver.set_gsm_signal(GsmSignalStrength.GOOD)
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.gsmSignal(3);
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.gsmSignal(3);
|
||||
ruby:
|
||||
|
|
||||
gsm_signal :good
|
||||
ruby_core:
|
||||
|
|
||||
@driver.gsm_signal :good
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsSpecialEmulatorCommands.html#setGsmSignalStrength-io.appium.java_client.android.GsmSignalStrength-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.gsm.Gsm.set_gsm_signal"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3221"
|
||||
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"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/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
|
||||
@@ -40,17 +28,17 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
espresso: true
|
||||
uiautomator2: false
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -63,10 +51,10 @@ endpoint:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: signalStrength
|
||||
- name: signalStrengh
|
||||
type: string
|
||||
description: Signal strength in the range [0, 4]
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L343
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L343
|
||||
+11
-23
@@ -3,35 +3,23 @@ name: GSM Voice
|
||||
short_description: Set GSM voice state (Emulator only)
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.setGsmVoice(GsmVoiceState.HOME);
|
||||
python:
|
||||
|
|
||||
self.driver.set_gsm_voice(GsmVoiceState.HOME)
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.gsmVoice('Voice state');
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.gsmVoice('home');
|
||||
ruby:
|
||||
|
|
||||
gsm_voice :home
|
||||
ruby_core:
|
||||
|
|
||||
@driver.gsm_voice :home
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsSpecialEmulatorCommands.html#setGsmVoice-io.appium.java_client.android.GsmVoiceState-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.gsm.Gsm.set_gsm_voice"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3241"
|
||||
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"
|
||||
ruby: "https://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/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
|
||||
@@ -40,17 +28,17 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
espresso: true
|
||||
uiautomator2: false
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -68,5 +56,5 @@ endpoint:
|
||||
description: State of GSM voice - 'unregistered', 'home', 'roaming', 'searching', 'denied', 'off', 'on'.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L346
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L346
|
||||
+10
-22
@@ -3,35 +3,23 @@ name: Send SMS
|
||||
short_description: Simulate an SMS message (Emulator only)
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.sendSMS("555-123-4567", "Hey lol");
|
||||
python:
|
||||
|
|
||||
self.driver.send_sms('555-123-4567', 'Hey lol')
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.sendSms('555-123-4567', 'Hey lol');
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.sendSms('555-123-4567', 'Hey lol');
|
||||
ruby:
|
||||
|
|
||||
send_sms(phone_number: '555-123-4567', message: 'Hey lol')
|
||||
ruby_core:
|
||||
|
|
||||
@driver.send_sms(phone_number: '555-123-4567', message: 'Hey lol')
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsSpecialEmulatorCommands.html#sendSMS-java.lang.String-java.lang.String-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.sms.Sms.send_sms"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3183"
|
||||
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"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/master/Appium/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
|
||||
@@ -40,7 +28,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -48,9 +35,10 @@ driver_support:
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -71,5 +59,5 @@ endpoint:
|
||||
description: The SMS message
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L337
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L337
|
||||
+10
-14
@@ -3,9 +3,6 @@ name: Toggle Airplane Mode
|
||||
short_description: Toggle airplane mode on device
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.toggleAirplaneMode();
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.toggleAirplaneMode();
|
||||
@@ -13,21 +10,20 @@ example_usage:
|
||||
|
|
||||
driver.toggleAirplaneMode();
|
||||
ruby:
|
||||
|
|
||||
toggle_flight_mode
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_flight_mode
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsNetworkStateManagement.html#toggleAirplaneMode--"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#toggleairplanemode"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/toggleAirplaneMode.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -36,7 +32,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -44,9 +39,10 @@ driver_support:
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -60,5 +56,5 @@ endpoint:
|
||||
description: ID of the session to route the command to
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L396
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L396
|
||||
+9
-19
@@ -1,17 +1,8 @@
|
||||
---
|
||||
name: Toggle Data
|
||||
short_description: Switch the state of data service
|
||||
description:
|
||||
|
|
||||
Switch the state of data service.
|
||||
|
||||
(For Android) This API does not work for Android API level 21+
|
||||
because it requires system or carrier privileged permission, and Android <= 21 does not support granting permissions.
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
driver.toggleData();
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.toggleData();
|
||||
@@ -19,21 +10,20 @@ example_usage:
|
||||
|
|
||||
driver.toggleData();
|
||||
ruby:
|
||||
|
|
||||
toggle_data
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_data
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/SupportsNetworkStateManagement.html#toggleData--"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#toggledata"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/toggleData.html"
|
||||
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
|
||||
@@ -42,7 +32,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -50,9 +39,10 @@ driver_support:
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -66,5 +56,5 @@ endpoint:
|
||||
description: ID of the session to route the command to
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L399
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L399
|
||||
+11
-11
@@ -16,22 +16,22 @@ example_usage:
|
||||
|
|
||||
driver.toggleLocationServices();
|
||||
ruby:
|
||||
|
|
||||
toggle_location_services
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_location_services
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#toggleLocationServices--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.location.Location.toggle_location_services"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#togglelocationservices"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#toggleLocationServices--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L774"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/toggleLocationServices.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -40,7 +40,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -64,5 +64,5 @@ endpoint:
|
||||
description: ID of the session to route the command to
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L405
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L405
|
||||
@@ -0,0 +1,60 @@
|
||||
---
|
||||
name: Toggle WiFi
|
||||
short_description: Switch the state of the wifi service
|
||||
|
||||
example_usage:
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.toggleWiFi();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.toggleWiFi();
|
||||
ruby:
|
||||
|
|
||||
@driver.toggle_wifi
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/toggleWiFi.html"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2738"
|
||||
ruby: "http://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
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
mac: false
|
||||
windows:
|
||||
windows: false
|
||||
client_support:
|
||||
java: false
|
||||
python: false
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/device/toggle_wifi
|
||||
method: POST
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L402
|
||||
+14
-27
@@ -1,38 +1,25 @@
|
||||
---
|
||||
name: Get Performance Data
|
||||
short_description: Returns the information of the system state which is supported to read as like cpu, memory, network traffic, and battery
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
List<List<Object>> performanceData = driver.getPerformanceData("my.app.package", "cpuinfo", 5);
|
||||
python:
|
||||
|
|
||||
self.driver.get_performance_data('my.app.package', 'cpuinfo', 5)
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.getPerformanceData('my.app.package', 'cpuinfo', 5);
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.getPerformanceData('my.app.package', 'cpuinfo', 5);
|
||||
ruby:
|
||||
|
|
||||
get_performance_data package_name: 'io.appium.android.apis', data_type: 'cpuinfo', data_read_timeout: 10
|
||||
|
||||
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
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.performance.Performance.get_performance_data"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3412"
|
||||
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"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/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
|
||||
@@ -41,7 +28,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -52,10 +38,11 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -65,13 +52,13 @@ endpoint:
|
||||
- name: session_id
|
||||
description: ID of the session to route the command to
|
||||
json_parameters:
|
||||
- name: packageName
|
||||
- name: package_name
|
||||
type: string
|
||||
description: The package name of the application
|
||||
- name: dataType
|
||||
- name: data_type
|
||||
type: string
|
||||
description: The type of system state which wants to read. It should be one of the supported performance data types.
|
||||
- name: dataReadTimeout
|
||||
- name: data_read_timeout
|
||||
type: number
|
||||
description: The number of attempts to read (optional)
|
||||
response:
|
||||
@@ -80,4 +67,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L325
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L325
|
||||
+11
-23
@@ -1,37 +1,25 @@
|
||||
---
|
||||
name: Get Performance Data Types
|
||||
short_description: Returns the information types of the system state which is supported to read as like cpu, memory, network traffic, and battery
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
List<String> performanceTypes = driver.getSupportedPerformanceDataTypes();
|
||||
python:
|
||||
|
|
||||
self.driver.get_performance_data_types()
|
||||
javascript_wd:
|
||||
|
|
||||
await driver.getSupportedPerformanceDataTypes();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.getPerformanceDataTypes();
|
||||
ruby:
|
||||
|
|
||||
get_performance_data_types
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_performance_data_types
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// Not supported
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.performance.Performance.get_performance_data_types"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L3398"
|
||||
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"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/HasSupportedPerformanceDataType.html#getSupportedPerformanceDataTypes--"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/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
|
||||
@@ -40,7 +28,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,10 +38,11 @@ client_support:
|
||||
java: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -69,4 +57,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L322
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L322
|
||||
+13
-15
@@ -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:
|
||||
@@ -23,24 +21,24 @@ example_usage:
|
||||
await driver.toggleTouchIdEnrollment();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.toggleEnrollTouchId(true);
|
||||
driver.toggleTouchIdEnrollment(true);
|
||||
ruby:
|
||||
|
|
||||
toggle_touch_id_enrollment
|
||||
ruby_core:
|
||||
|
|
||||
@driver.toggle_touch_id_enrollment
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/ios/PerformsTouchID.html#performTouchID-boolean-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.toggle_touch_id_enrollment"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#toggleenrolltouchid"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/ios/PerformsTouchID.html#performTouchID-boolean-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L670"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/toggleTouchIdEnrollment.html"
|
||||
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"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/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
|
||||
@@ -50,7 +48,6 @@ driver_support:
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
@@ -60,10 +57,11 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -78,5 +76,5 @@ endpoint:
|
||||
description: If true, enable, if falsey disable, otherwise toggle (optional)
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L427
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L427
|
||||
+17
-22
@@ -4,15 +4,13 @@ short_description: Simulate a [touch id](https://support.apple.com/en-ca/ht20137
|
||||
description:
|
||||
|
|
||||
To enable this feature, the `allowTouchIdEnroll` desired capability must be set to true and the Simulator
|
||||
must be [enrolled](https://support.apple.com/en-ca/ht201371).
|
||||
must be [enrolled](https://support.apple.com/en-ca/ht201371).
|
||||
|
||||
When you set `allowTouchIdEnroll` to true, it will set the Simulator to be enrolled by default.
|
||||
When you set `allowTouchIdEnroll` to true, it will set the Simulator to be enrolled by default.
|
||||
The enrollment state can be [toggled](/docs/en/commands/device/simulator/toggle-touch-id-enrollment.md)
|
||||
|
||||
This call will only work if 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
|
||||
|
||||
Finger Print by Android is [here](http://appium.io/docs/en/commands/device/authentication/finger-print/)
|
||||
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
@@ -32,27 +30,24 @@ example_usage:
|
||||
driver.touchId(false); // Simulates a failed touch
|
||||
driver.touchId(true); // Simulates a passing touch
|
||||
ruby:
|
||||
|
|
||||
touch_id(false)
|
||||
touch_id(true)
|
||||
|
||||
ruby_core:
|
||||
|
|
||||
@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
|
||||
driver.PerformTouchID(true); // Simulates a passing touch
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/ios/PerformsTouchID.html#performTouchID-boolean-"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.hw_actions.HardwareActions.touch_id"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#touchid"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/ios/PerformsTouchID.html#performTouchID-boolean-"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L661"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/touchId.html"
|
||||
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"
|
||||
ruby: "http://www.rubydoc.info/github/appium/ruby_lib_core/Appium/Ios/Device#touch_id-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
|
||||
driver_support:
|
||||
@@ -61,7 +56,6 @@ driver_support:
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
@@ -71,10 +65,11 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -89,9 +84,9 @@ endpoint:
|
||||
description: Are we simulating a successful touch (true) or a failed touch (false)
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L424
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L424
|
||||
|
||||
links:
|
||||
- name: Appium Docs
|
||||
url: https://github.com/appium/appium-xcuitest-driver/blob/master/docs/touch-id.md
|
||||
url: https://github.com/appium/appium-xcuitest-driver/blob/master/docs/touch-id.md
|
||||
+10
-10
@@ -16,22 +16,22 @@ example_usage:
|
||||
|
|
||||
driver.openNotifications();
|
||||
ruby:
|
||||
|
|
||||
open_notifications();
|
||||
ruby_core:
|
||||
|
|
||||
@driver.open_notifications();
|
||||
php:
|
||||
|
|
||||
$driver->openNotifications();
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#openNotifications--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.common.Common.open_notifications"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#opennotifications"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/AndroidDriver.html#openNotifications--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L676"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/openNotifications.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -40,7 +40,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: false
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -51,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -65,4 +65,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L408
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L408
|
||||
+11
-19
@@ -6,28 +6,20 @@ example_usage:
|
||||
java:
|
||||
|
|
||||
Map<String, String> systemBars = driver.getSystemBars();
|
||||
python:
|
||||
|
|
||||
self.driver.get_system_bars()
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.getSystemBars();
|
||||
ruby:
|
||||
|
|
||||
get_system_bars
|
||||
ruby_core:
|
||||
|
|
||||
@driver.get_system_bars
|
||||
php:
|
||||
|
|
||||
// TODO
|
||||
csharp:
|
||||
|
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/android/HasAndroidDeviceDetails.html#getSystemBars--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.android.html#webdriver.extensions.android.system_bars.SystemBars.get_system_bars"
|
||||
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"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/android/HasDeviceDetails.html#getSystemBars--"
|
||||
ruby: "http://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
|
||||
@@ -36,7 +28,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -45,11 +36,12 @@ driver_support:
|
||||
windows: false
|
||||
client_support:
|
||||
java: true
|
||||
python: true
|
||||
python: false
|
||||
ruby: true
|
||||
php: false
|
||||
csharp: false
|
||||
javascript_wd: false
|
||||
javascript_wdio: true
|
||||
javascript_wdio: false
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
@@ -63,5 +55,5 @@ endpoint:
|
||||
description: Information about visibility and bounds of status and navigation bar
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L418
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L418
|
||||
+12
-15
@@ -8,10 +8,7 @@ example_usage:
|
||||
String time = driver.getDeviceTime();
|
||||
python:
|
||||
|
|
||||
time = self.driver.device_time
|
||||
|
||||
time = self.driver.get_device_time()
|
||||
time = self.driver.get_device_time("YYYY-MM-DD")
|
||||
time = self.driver.device_time()
|
||||
javascript_wdio:
|
||||
|
|
||||
let time = driver.getDeviceTime();
|
||||
@@ -19,22 +16,22 @@ example_usage:
|
||||
|
|
||||
let time = await driver.getDeviceTime();
|
||||
ruby:
|
||||
|
|
||||
device_time
|
||||
ruby_core:
|
||||
|
|
||||
@driver.device_time
|
||||
php:
|
||||
|
|
||||
$time = $driver->getDeviceTime();
|
||||
csharp:
|
||||
|
|
||||
string result = driver.DeviceTime;
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/HasDeviceTime.html#getDeviceTime--"
|
||||
python: "https://appium.github.io/python-client-sphinx/webdriver.extensions.html#webdriver.extensions.device_time.DeviceTime.device_time"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#getdevicetime"
|
||||
java: "http://appium.github.io/java-client/io/appium/java_client/HasDeviceTime.html#getDeviceTime--"
|
||||
python: "https://github.com/appium/python-client/blob/master/appium/webdriver/webdriver.py#L798"
|
||||
javascript_wdio: "http://webdriver.io/api/mobile/getDeviceTime.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -43,7 +40,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -54,6 +50,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -71,4 +68,4 @@ endpoint:
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L304
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L304
|
||||
+13
-15
@@ -15,27 +15,25 @@ example_usage:
|
||||
await element.clear();
|
||||
javascript_wdio:
|
||||
|
|
||||
$("~SomeAccessibilityId").clearValue();
|
||||
driver.clearElement("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, "SomeAccessibilityID").clear
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").clear
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
element.Clear();
|
||||
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#clear--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.clear"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/clearValue.html"
|
||||
javascript_wdio: "http://webdriver.io/api/action/clearElement.html"
|
||||
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"
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
ruby: "http://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/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -43,7 +41,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -54,14 +51,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/clear
|
||||
url: /wd/hub/session/:session_id/element/:element_id/clear
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -70,6 +68,6 @@ endpoint:
|
||||
description: ID of the element to clear.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#dfn-get-element-tag-name
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclear
|
||||
+10
-16
@@ -21,30 +21,24 @@ example_usage:
|
||||
await element.click();
|
||||
javascript_wdio:
|
||||
|
|
||||
$('#SomeId').click();
|
||||
driver.click('#SomeId');
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeId').click
|
||||
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeId').click
|
||||
php:
|
||||
|
|
||||
$driver->byAccessibilityId('SomeId')->click();
|
||||
csharp:
|
||||
|
|
||||
MobileElement el = driver.FindElement(MobileByAccessibilityID("Some ID");
|
||||
el.click();
|
||||
|
||||
//Example
|
||||
MobileElement el = driver.FindElement(MobileById("Some ID");
|
||||
el.click();
|
||||
// TODO
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.click"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/click.html"
|
||||
javascript_wdio: "http://webdriver.io/api/action/click.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -53,7 +47,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -64,6 +57,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -71,7 +65,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/click
|
||||
url: /wd/hub/session/:session_id/element/:element_id/click
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+12
-19
@@ -21,29 +21,25 @@ example_usage:
|
||||
await element.type("Hello world!")
|
||||
javascript_wdio:
|
||||
|
|
||||
$("~SomeAccessibilityId").addValue("Enter");
|
||||
driver.setValue("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, "SomeAccessibilityID").send_keys("Hello World!")
|
||||
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");
|
||||
el.SendKeys("Some Text");
|
||||
|
||||
//Example
|
||||
MobileElement el = driver.FindElement(MobileById("Some ID");
|
||||
el.SendKeys("Hello World");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#sendKeys-java.lang.CharSequence...-"
|
||||
python: "http://selenium-python.readthedocs.io/api.html?highlight=active_element#selenium.webdriver.common.action_chains.ActionChains.send_keys"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/addValue.html"
|
||||
javascript_wdio: "http://webdriver.io/api/action/setValue.html"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -52,7 +48,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -63,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -70,7 +66,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/value
|
||||
url: /wd/hub/session/:session_id/element/value
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -80,10 +76,7 @@ endpoint:
|
||||
json_parameters:
|
||||
- name: value
|
||||
type: array<string>
|
||||
description: (MJSONWP) The sequence of keys to type. An array must be provided. The server should flatten the array items to a single string to be typed
|
||||
- name: text
|
||||
type: string
|
||||
description: (W3C) A single string to be typed
|
||||
description: The sequence of keys to type. An array must be provided. The server should flatten the array items to a single string to be typed.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
+13
-14
@@ -5,7 +5,7 @@ short_description: Get the value of an element's attribute
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
String tagName = element.getAttribute("content-desc");
|
||||
python:
|
||||
|
|
||||
@@ -16,27 +16,26 @@ example_usage:
|
||||
let tagName = await element.getAttribute("content-desc");
|
||||
javascript_wdio:
|
||||
|
|
||||
let attribute = $("~SomeAccessibilityId").getAttribute("content-desc");
|
||||
let attribute = driver.getAttribute("~SomeAccessibilityId", "content-desc");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeAccessibilityID').attribute("content-desc")
|
||||
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");
|
||||
string tagName = element.GetAttribute("content-desc");
|
||||
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getAttribute"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.get_attribute"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getAttribute.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getAttribute.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
driver_support:
|
||||
@@ -44,7 +43,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -55,6 +53,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -62,7 +61,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/attribute/:name
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/attribute/:name
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+14
-15
@@ -2,7 +2,7 @@
|
||||
name: Get Element CSS Value
|
||||
short_description: Query the value of a web element's computed CSS property
|
||||
|
||||
description:
|
||||
description:
|
||||
|
|
||||
The CSS property to query should be specified using the CSS property name, not the JavaScript property name (e.g. background-color instead of backgroundColor).
|
||||
|
||||
@@ -11,7 +11,7 @@ description:
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementById("SomeId");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementById("SomeId");
|
||||
String cssProperty = element.getCssValue("style");
|
||||
python:
|
||||
|
|
||||
@@ -22,26 +22,25 @@ example_usage:
|
||||
let cssProperty = await element.getComputedCss();
|
||||
javascript_wdio:
|
||||
|
|
||||
let cssProperty = $("~SomeId").getCSSProperty("style");
|
||||
let cssProperty = driver.getCssProperty("~SomeId", "style");
|
||||
ruby:
|
||||
|
|
||||
find_element(:id, 'SomeId').css_value
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:id, 'SomeId').css_value
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementById("SomeId");
|
||||
string cssProperty = element.GetCssValue("style");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getCssValue--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.value_of_css_property"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getCSSProperty.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getCssProperty.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
driver_support:
|
||||
@@ -49,7 +48,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -60,14 +58,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/css/:property_name
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/css/:property_name
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+13
-12
@@ -14,28 +14,29 @@ example_usage:
|
||||
let element = await driver.elementByAccessibilityId("SomeAccessibilityID");
|
||||
let isDisplayed = await element.isDisplayed();
|
||||
|
||||
# Note that elementIdDisplayed is not a typo in this document, it's a WDIO typo
|
||||
javascript_wdio:
|
||||
|
|
||||
let isDisplayed = $("~SomeAccessibilityId").isDisplayed();
|
||||
let isDisplayed = driver.elementIdDisplayed("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, "SomeAccessibilityID").displayed?
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").displayed?
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$isDisplayed = $el->displayed();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
bool isDisplayed = element.Displayed;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#isDisplayed--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.is_displayed"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/isDisplayed.html"
|
||||
javascript_wdio: "http://webdriver.io/api/protocol/elementIdDisplayed.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
driver_support:
|
||||
@@ -43,7 +44,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -54,6 +54,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -61,7 +62,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/displayed
|
||||
url: /wd/hub/session/:session_id/element/:element_id/displayed
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+13
-14
@@ -15,26 +15,25 @@ example_usage:
|
||||
let isEnabled = await element.isEnabled();
|
||||
javascript_wdio:
|
||||
|
|
||||
let isEnabled = $("~SomeAccessibilityId").isEnabled();
|
||||
let isEnabled = driver.isEnabled("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, "SomeAccessibilityID").enabled?
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").enabled?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
bool isEnabled = element.Enabled;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#isEnabled---"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.is_enabled"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/isEnabled.html"
|
||||
javascript_wdio: "http://webdriver.io/api/state/isEnabled.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
driver_support:
|
||||
@@ -42,7 +41,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -53,14 +51,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/enabled
|
||||
url: /wd/hub/session/:session_id/element/:element_id/enabled
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -72,6 +71,6 @@ endpoint:
|
||||
description: Whether the element is enabled
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#dfn-is-element-enabled
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidenabled
|
||||
+6
-11
@@ -7,17 +7,12 @@ example_usage:
|
||||
|
|
||||
let element = await driver.elementByAccessibilityId("SomeAccessibilityID");
|
||||
let location = await element.getLocationInView();
|
||||
python:
|
||||
|
|
||||
element = self.driver.find_element_by_accessibility_id('SomeAccessibilityID')
|
||||
element.location_in_view
|
||||
javascript_wdio:
|
||||
|
|
||||
let element = $("~SomeAccessibilityId")
|
||||
let location = driver.getElementLocationInView(element.elementId);
|
||||
let location = driver.getLocationInView("~SomeAccessibilityId");
|
||||
|
||||
client_docs:
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#getelementlocationinview"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getLocationInView.html"
|
||||
javascript_wd: "https://github.com/admc/wd/blob/master/lib/commands.js#L2189"
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
@@ -26,7 +21,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -37,14 +31,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/location_in_view
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/location_in_view
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -60,5 +55,5 @@ endpoint:
|
||||
description: Y coordinate
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidlocation_in_view
|
||||
+13
-13
@@ -7,7 +7,7 @@ description: The point (0, 0) refers to the upper-left corner of the page. The e
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
Point location = element.getLocation();
|
||||
python:
|
||||
|
|
||||
@@ -18,26 +18,26 @@ example_usage:
|
||||
let location = await element.getLocation();
|
||||
javascript_wdio:
|
||||
|
|
||||
let location = $("~SomeAccessibilityId").getLocation();
|
||||
let location = driver.getLocation("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeAccessibilityID').location
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').location
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$location = $el->location();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
Point location = element.Location;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getLocation--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.location"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getLocation.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getLocation.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
driver_support:
|
||||
@@ -45,7 +45,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -56,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -63,7 +63,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/location
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/location
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+14
-15
@@ -5,7 +5,7 @@ short_description: Get an element's tag name
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
String tagName = element.getTagName();
|
||||
python:
|
||||
|
|
||||
@@ -16,26 +16,25 @@ example_usage:
|
||||
let tagName = await element.getTagName();
|
||||
javascript_wdio:
|
||||
|
|
||||
let tagName = $("~SomeAccessibilityId").getTagName();
|
||||
let tagName = driver.getTagName("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeAccessibilityID').tag_name
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').tag_name
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
string tagName = element.TagName;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getTagName--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.tag_name"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getTagName.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getTagName.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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
|
||||
driver_support:
|
||||
@@ -43,7 +42,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -54,14 +52,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/name
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/name
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -73,6 +72,6 @@ endpoint:
|
||||
description: The tag name of the element
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#dfn-get-element-tag-name
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidname
|
||||
+12
-8
@@ -14,10 +14,13 @@ example_usage:
|
||||
// TODO javascript_wd sample
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.getPageIndex()
|
||||
// TODO javascript_wdio sample
|
||||
ruby:
|
||||
|
|
||||
// TODO Ruby sample
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
@@ -25,9 +28,10 @@ example_usage:
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getTagName--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.tag_name"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/mjsonwp.html#getpageindex"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getTagName.html"
|
||||
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: "http://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
|
||||
@@ -36,7 +40,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -47,14 +50,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/pageIndex
|
||||
url: /wd/hub/session/:session_id/element/:element_id/pageIndex
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -66,5 +70,5 @@ endpoint:
|
||||
description: The tag name of the element
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L285
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L285
|
||||
+15
-22
@@ -5,39 +5,32 @@ short_description: Gets dimensions and coordinates of an element
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
Rectangle rect = element.getRect();
|
||||
python:
|
||||
|
|
||||
element = self.driver.find_element_by_accessibility_id('SomeAccessibilityID')
|
||||
element.rect
|
||||
javascript_wd:
|
||||
|
|
||||
let element = await driver.elementByAccessibilityId("SomeAccessibilityID");
|
||||
let rect = await element.getRect();
|
||||
javascript_wdio:
|
||||
|
|
||||
let element = $("~SomeAccessibilityId")
|
||||
let rect = driver.getElementRect(element.elementId);
|
||||
let rect = driver.elementIdRect("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
element = find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.rect
|
||||
ruby_core:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.rect
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
Rectangle rect = element.Rect;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getRect--"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
javascript_wdio: "http://webdriver.io/api/protocol/elementIdRect.html"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
driver_support:
|
||||
@@ -45,7 +38,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -56,14 +48,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/rect
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/rect
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -80,9 +73,9 @@ endpoint:
|
||||
- name: height
|
||||
type: number
|
||||
description: Height of the bounding rectangle
|
||||
- name: width
|
||||
- name: weight
|
||||
type: number
|
||||
description: Width of the bounding rectangle
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#dfn-get-element-rect
|
||||
+16
-21
@@ -11,22 +11,20 @@ example_usage:
|
||||
// TODO Java sample
|
||||
python:
|
||||
|
|
||||
self.driver.set_value('some')
|
||||
// TODO: Python example
|
||||
javascript_wd:
|
||||
|
|
||||
// TODO JavaScript sample
|
||||
javascript_wdio:
|
||||
|
|
||||
let element = $("~SomeAccessibilityId")
|
||||
driver.replaceValue(element.elementId, 'some')
|
||||
// TODO JavaScript sample
|
||||
ruby:
|
||||
|
|
||||
element = find_element :accessibility_id, "SomeAccessibilityID"
|
||||
replace_value element, 'some'
|
||||
ruby_core:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
@driver.replace_value element, 'some'
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
// TODO C# sample
|
||||
@@ -34,19 +32,18 @@ example_usage:
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getText--" # TODO Java documentation link
|
||||
python: "http://selenium-python.readthedocs.io/api.html" # TODO Python documentation link
|
||||
javascript_wdio: "https://webdriver.io/docs/api/appium.html#replacevalue"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getText.html" # TODO JAvaScript documentation link
|
||||
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"
|
||||
ruby: "http://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
|
||||
driver_support:
|
||||
ios:
|
||||
xcuitest: false
|
||||
uiautomation: false
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -57,14 +54,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/appium/element/:element_id/replace_value
|
||||
url: /wd/hub/session/:session_id/appium/element/:element_id/replace_value
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -74,11 +72,8 @@ endpoint:
|
||||
json_parameters:
|
||||
- name: value
|
||||
type: array<string>
|
||||
description: (MJSONWP) The sequence of keys to type. An array must be provided. The server should flatten the array items to a single string to be typed
|
||||
- name: text
|
||||
type: string
|
||||
description: (W3C) A single string to be typed
|
||||
description: The sequence of keys to type. An array must be provided. The server should flatten the array items to a single string to be typed.
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/protocol/routes.js#L451
|
||||
specifications:
|
||||
jsonwp: https://github.com/appium/appium-base-driver/blob/master/lib/mjsonwp/routes.js#L451
|
||||
+13
-14
@@ -15,26 +15,25 @@ example_usage:
|
||||
let isSelected = await element.isSelected();
|
||||
javascript_wdio:
|
||||
|
|
||||
let isSelected = $("~SomeAccessibilityId").isSelected();
|
||||
let isSelected = driver.isSelected("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, "SomeAccessibilityID").selected?
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, "SomeAccessibilityID").selected?
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
bool isSelected = element.Selected;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#isSelected--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.is_selected"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/isSelected.html"
|
||||
javascript_wdio: "http://webdriver.io/api/state/isSelected.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
driver_support:
|
||||
@@ -42,7 +41,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -53,14 +51,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/selected
|
||||
url: /wd/hub/session/:session_id/element/:element_id/selected
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -72,6 +71,6 @@ endpoint:
|
||||
description: Whether the element is selected
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#dfn-is-element-selected
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidselected
|
||||
+13
-13
@@ -7,7 +7,7 @@ description: The size will be returned as an object with width and height proper
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> element = (MobileElement) driver.findElementByAccessibilityId("SomeAccessibilityID");
|
||||
Dimension elementSize = element.getSize();
|
||||
python:
|
||||
|
|
||||
@@ -18,26 +18,26 @@ example_usage:
|
||||
let size = await element.getSize();
|
||||
javascript_wdio:
|
||||
|
|
||||
let size = $("~SomeAccessibilityId").getSize();
|
||||
let size = driver.getElementSize("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeAccessibilityID').size
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID').size
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$size = $el->size();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByAccessibilityId("SomeAccessibilityID");
|
||||
Size elementSize = element.Size;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getSize--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.size"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getSize.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getElementSize.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm if all the drivers support this
|
||||
driver_support:
|
||||
@@ -45,7 +45,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -56,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -63,7 +63,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements/:element_id/size
|
||||
url: /wd/hub/session/:session_id/elements/:element_id/size
|
||||
method: GET
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+13
-14
@@ -9,7 +9,7 @@ example_usage:
|
||||
java:
|
||||
|
|
||||
MobileElement element = (MobileElement) driver.findElementByClassName("SomeClassName");
|
||||
String elText = element.getText();
|
||||
let elText = element.getText();
|
||||
python:
|
||||
|
|
||||
el = self.driver.find_element_by_accessibility_id('SomeAccessibilityID')
|
||||
@@ -20,28 +20,27 @@ example_usage:
|
||||
await element.text();
|
||||
javascript_wdio:
|
||||
|
|
||||
$("~SomeAccessibilityId").getText();
|
||||
driver.getText("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
element = find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.text
|
||||
ruby_core:
|
||||
|
|
||||
element = @driver.find_element :accessibility_id, "SomeAccessibilityID"
|
||||
element.text
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
$text = $el->text();
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByClassName("SomeClassName");
|
||||
string elText = element.Text;
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#getText--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html" # TODO Python documentation link
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/getText.html"
|
||||
javascript_wdio: "http://webdriver.io/api/property/getText.html"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -49,7 +48,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -60,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -67,7 +66,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/text
|
||||
url: /wd/hub/session/:session_id/element/:element_id/text
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+10
-11
@@ -19,25 +19,24 @@ example_usage:
|
||||
let elementTwo = await driver.element("id", "SomeID");
|
||||
javascript_wdio:
|
||||
|
|
||||
$("~SomeAccessibilityId");
|
||||
driver.element("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_element(:accessibility_id, 'SomeAccessibilityID')
|
||||
ruby_core:
|
||||
|
|
||||
@driver.find_element(:accessibility_id, 'SomeAccessibilityID')
|
||||
php:
|
||||
|
|
||||
$el = $this->byAccessibilityId('SomeAccessibilityID');
|
||||
csharp:
|
||||
|
|
||||
AndroidElement elementOne = driver.FindElementByAccessibilityID("Some ID");
|
||||
AndroidElement elementTwo = driver.FindElementByClassName("Some class");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#findElement-org.openqa.selenium.By-"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.find_element"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/browser/$.html"
|
||||
javascript_wdio: "http://webdriver.io/api/protocol/element.html#Usage"
|
||||
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"
|
||||
ruby: "http://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
|
||||
@@ -46,7 +45,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -57,6 +55,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -64,7 +63,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element
|
||||
url: /wd/hub/session/:session_id/element
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+15
-23
@@ -6,7 +6,7 @@ description:
|
||||
Get a list of elements that match the [locator selector](/docs/en/writing-running-appium/finding-elements.md).
|
||||
selector_strategies:
|
||||
- name: Accessibility ID
|
||||
description: Read a unique identifier for a UI element. For XCUITest it is the element's `accessibility-id` attribute. For Android it is the element's `content-desc` attribute.
|
||||
description: Read a unique identifier for a UI element. For XCUITest it is the element's `resource-id` attribute. For Android it is the element's `content-desc` attribute.
|
||||
- name: Class name
|
||||
description: "For IOS it is the full name of the XCUI element and begins with XCUIElementType. For Android it is the full name of the UIAutomator2 class (e.g.: android.widget.TextView)"
|
||||
- name: ID
|
||||
@@ -15,22 +15,15 @@ selector_strategies:
|
||||
description: Name of element
|
||||
- name: XPath
|
||||
description: Search the app XML source using xpath (not recommended, has performance issues)
|
||||
- name: Image
|
||||
description: Locate an element by matching it with a base 64 encoded image file
|
||||
- name: Android UiAutomator (UiAutomator2 only)
|
||||
- name: Android UiAutomator
|
||||
description: Use the UI Automator API, in particular the [UiSelector](https://developer.android.com/reference/android/support/test/uiautomator/UiSelector.html) class to locate elements. In Appium you send the Java code, as a string, to the server, which executes it in the application’s environment, returning the element or elements.
|
||||
- name: Android View Tag (Espresso only)
|
||||
description: Locate an element by its [view tag](https://developer.android.com/reference/android/support/test/espresso/matcher/ViewMatchers.html#withTagValue(org.hamcrest.Matcher%3Cjava.lang.Object%3E))
|
||||
- name: Android Data Matcher (Espresso only)
|
||||
description: Locate an element using [Espresso DataMatcher](https://developer.android.com/reference/android/support/test/espresso/Espresso#ondata)
|
||||
- name: IOS UIAutomation
|
||||
description: When automating an iOS application, Apple’s [Instruments](/docs/en/drivers/ios-uiautomation.md) framework can be used to find elements
|
||||
|
||||
example_usage:
|
||||
java:
|
||||
|
|
||||
List<MobileElement> elementsOne = (List<MobileElement>) driver.findElementsByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> elementsTwo = (List<MobileElement>) driver.findElementsByClassName("SomeClassName");
|
||||
List<MobileElement> elementsOne = (MobileElement) driver.findElementsByAccessibilityId("SomeAccessibilityID");
|
||||
List<MobileElement> elementsTwo = (MobileElement) driver.findElementsByClassName("SomeClassName");
|
||||
python:
|
||||
|
|
||||
el = self.driver.find_elements_by_accessibility_id('SomeAccessibilityID')
|
||||
@@ -40,26 +33,25 @@ example_usage:
|
||||
let elementsTwo = await driver.elements("id", "SomeID");
|
||||
javascript_wdio:
|
||||
|
|
||||
$$("~SomeAccessibilityId");
|
||||
driver.elements("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
find_elements(:accessibility_id, "~SomeAccessibilityID")
|
||||
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");
|
||||
IEnumerable<AppiumWebElement> elementsTwo = driver.FindElementsByClassName("SomeClassName");
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#findElements-org.openqa.selenium.By-"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.find_elements"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/browser/$$.html"
|
||||
javascript_wdio: "http://webdriver.io/api/protocol/elements.html#Usage"
|
||||
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"
|
||||
csharp: "https://github.com/appium/appium-dotnet-driver/blob/master/src/Appium.Net/Appium/AppiumWebElement.cs"
|
||||
ruby: "http://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/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -67,7 +59,6 @@ driver_support:
|
||||
xcuitest: true
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -78,6 +69,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -85,7 +77,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/elements
|
||||
url: /wd/hub/session/:session_id/elements
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+14
-15
@@ -14,26 +14,25 @@ example_usage:
|
||||
let element = await driver.active();
|
||||
javascript_wdio:
|
||||
|
|
||||
driver.getActiveElement();
|
||||
driver.elementActive();
|
||||
ruby:
|
||||
|
|
||||
switch_to.active_element
|
||||
ruby_core:
|
||||
|
|
||||
@driver.switch_to.active_element
|
||||
php:
|
||||
|
|
||||
// TODO PHP example
|
||||
csharp:
|
||||
|
|
||||
IWebElement currentElement = driver.SwitchTo().ActiveElement();
|
||||
|
||||
// TODO C# example
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebDriver.TargetLocator.html#activeElement--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html?highlight=active_element#selenium.webdriver.remote.webdriver.WebDriver.switch_to_active_element" # TODO
|
||||
javascript_wdio: "https://webdriver.io/docs/api/webdriver.html#getactiveelement"
|
||||
javascript_wdio: "http://webdriver.io/api/protocol/elementActive.html"
|
||||
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"
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteTargetLocator.cs"
|
||||
ruby: "http://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/appium/appium-dotnet-driver/" # TODO
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -42,7 +41,6 @@ driver_support:
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: false
|
||||
@@ -52,21 +50,22 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/active
|
||||
method: "'GET'(W3C), 'POST'(JSONWP)"
|
||||
url: /wd/hub/session/:session_id/element/active
|
||||
method: 'POST'
|
||||
response:
|
||||
- name: ELEMENT
|
||||
type: object
|
||||
description: A JSON object for the located element
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#get-active-element
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementactive
|
||||
+11
-17
@@ -20,33 +20,27 @@ example_usage:
|
||||
let isEqual = await elementOne.equalsElement(elementTwo);
|
||||
javascript_wdio:
|
||||
|
|
||||
let elementOne = $("someClass");
|
||||
let elementTwo = $("someOtherClass");
|
||||
let isEqual = elementOne.isEqual(elementTwo);
|
||||
# TODO WDIO example
|
||||
ruby:
|
||||
|
|
||||
element1 = find_element :class_name, "someClass"
|
||||
element2 = find_element :class_name, "someOtherClass"
|
||||
element1 == element2
|
||||
ruby_core:
|
||||
|
|
||||
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");
|
||||
var elementTwo = driver.FindElementByClassName("SomeOtherClassName");
|
||||
bool isEqual = elementOne.Equals(elementTwo);
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://appium.github.io/java-client/io/appium/java_client/MobileElement.html"
|
||||
python: "http://selenium-python.readthedocs.io/api.html" # TODO Python documentation link
|
||||
javascript_wdio: "https://webdriver.io/docs/api/element/isEqual.html"
|
||||
javascript_wdio: "http://webdriver.io/api/state/isEnabled.html"
|
||||
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"
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
ruby: "http://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/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
# TODO: Confirm support for these per platform
|
||||
driver_support:
|
||||
@@ -54,7 +48,6 @@ driver_support:
|
||||
xcuitest: false
|
||||
uiautomation: true
|
||||
android:
|
||||
espresso: true
|
||||
uiautomator2: true
|
||||
uiautomator: true
|
||||
mac:
|
||||
@@ -65,6 +58,7 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
@@ -72,7 +66,7 @@ client_support:
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/equals/:other_element_id
|
||||
url: /wd/hub/session/:session_id/element/:element_id/equals/:other_element_id
|
||||
method: 'GET'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
+13
-16
@@ -20,29 +20,26 @@ example_usage:
|
||||
await element.submit();
|
||||
javascript_wdio:
|
||||
|
|
||||
let formElement = $("~SomeAccessibilityId");
|
||||
driver.elementSubmit(formElement.elementId);
|
||||
driver.submitForm("~SomeAccessibilityId");
|
||||
ruby:
|
||||
|
|
||||
element = find_element :class_name, "someClass"
|
||||
element.submit element
|
||||
ruby_core:
|
||||
|
|
||||
element = @driver.find_element :class_name, "someClass"
|
||||
element.submit element
|
||||
php:
|
||||
|
|
||||
// TODO PHP sample
|
||||
csharp:
|
||||
|
|
||||
var element = driver.FindElementByClassName("SomeClassName");
|
||||
element.Submit();
|
||||
// TODO C# sample
|
||||
|
||||
client_docs:
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#submit--"
|
||||
python: "http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webelement.WebElement.submit"
|
||||
javascript_wdio: "https://webdriver.io/docs/api/jsonwp.html#elementsubmit"
|
||||
javascript_wdio: "http://webdriver.io/api/action/submitForm.html"
|
||||
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"
|
||||
csharp: "https://github.com/SeleniumHQ/selenium/blob/master/dotnet/src/webdriver/Remote/RemoteWebElement.cs"
|
||||
ruby: "http://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/appium/appium-dotnet-driver/" # TODO Dotnet documentation link
|
||||
|
||||
# Driver support by platform
|
||||
driver_support:
|
||||
@@ -51,7 +48,6 @@ driver_support:
|
||||
uiautomation: false
|
||||
android:
|
||||
uiautomator2: false
|
||||
espresso: false
|
||||
uiautomator: false
|
||||
mac:
|
||||
mac: true
|
||||
@@ -61,14 +57,15 @@ client_support:
|
||||
java: true
|
||||
python: true
|
||||
ruby: true
|
||||
php: true
|
||||
csharp: true
|
||||
javascript_wd: true
|
||||
javascript_wdio: true
|
||||
|
||||
|
||||
|
||||
# Information about the HTTP endpoints
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/submit
|
||||
url: /wd/hub/session/:session_id/element/:element_id/submit
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -77,5 +74,5 @@ endpoint:
|
||||
description: ID of the element to submit
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidsubmit
|
||||
+11
-11
@@ -22,22 +22,21 @@ example_usage:
|
||||
await driver.status();
|
||||
ruby:
|
||||
|
|
||||
# Ruby Code in ruby_lib here
|
||||
ruby_core:
|
||||
# Ruby Code here
|
||||
php:
|
||||
|
|
||||
# Ruby Code in ruby_lib_core here
|
||||
// PHP Code here
|
||||
csharp:
|
||||
|
|
||||
driver.FindElementById("elementId").Click();
|
||||
// CSharp Code here
|
||||
|
||||
client_docs:
|
||||
java:
|
||||
- url: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--"
|
||||
python: "https://appium.github.io/python-client-sphinx"
|
||||
java: "https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/WebElement.html#click--"
|
||||
python: "https://github.com/appium/python-client"
|
||||
javascript_wdio: "http://webdriver.io/index.html"
|
||||
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,11 +65,12 @@ 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
|
||||
endpoint:
|
||||
url: /session/:session_id/element/:element_id/click
|
||||
url: /wd/hub/session/:session_id/element/:element_id/click
|
||||
method: 'POST'
|
||||
url_parameters:
|
||||
- name: session_id
|
||||
@@ -90,7 +90,7 @@ endpoint:
|
||||
description: A generic release label (i.e. "2.0rc3")
|
||||
|
||||
# Links to specifications. Should link to at least one specification
|
||||
specifications:
|
||||
specifications:
|
||||
w3c: https://www.w3.org/TR/webdriver/#element-click
|
||||
jsonwp: https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidelementidclick
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user