appium-mcp 0.0.1 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +37 -0
- package/.github/workflows/pr-title.yml +15 -0
- package/.github/workflows/publish.yml +31 -0
- package/.gitmodules +9 -0
- package/.prettierignore +29 -0
- package/.prettierrc +10 -0
- package/.releaserc +37 -0
- package/CHANGELOG.md +43 -0
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/dist/devicemanager/adb-manager.d.ts +71 -0
- package/dist/devicemanager/adb-manager.js +140 -0
- package/dist/devicemanager/adb-manager.js.map +1 -0
- package/dist/devicemanager/ios-manager.d.ts +58 -0
- package/dist/devicemanager/ios-manager.js +122 -0
- package/dist/devicemanager/ios-manager.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/locators/element-filter.d.ts +13 -0
- package/dist/locators/element-filter.js +79 -0
- package/dist/locators/element-filter.js.map +1 -0
- package/dist/locators/generate-all-locators.d.ts +21 -0
- package/dist/locators/generate-all-locators.js +72 -0
- package/dist/locators/generate-all-locators.js.map +1 -0
- package/dist/locators/locator-generation.d.ts +36 -0
- package/dist/locators/locator-generation.js +501 -0
- package/dist/locators/locator-generation.js.map +1 -0
- package/dist/locators/logger.d.ts +5 -0
- package/dist/locators/logger.js +9 -0
- package/dist/locators/logger.js.map +1 -0
- package/dist/locators/source-parsing.d.ts +43 -0
- package/dist/locators/source-parsing.js +100 -0
- package/dist/locators/source-parsing.js.map +1 -0
- package/dist/resources/index.d.ts +1 -0
- package/dist/resources/index.js +7 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/java/template.d.ts +4 -0
- package/dist/resources/java/template.js +82 -0
- package/dist/resources/java/template.js.map +1 -0
- package/dist/schema.d.ts +2 -0
- package/dist/schema.js +5 -0
- package/dist/schema.js.map +1 -0
- package/dist/scripts/simple-index-documentation.d.ts +20 -0
- package/dist/scripts/simple-index-documentation.js +77 -0
- package/dist/scripts/simple-index-documentation.js.map +1 -0
- package/dist/scripts/simple-query-documentation.d.ts +12 -0
- package/dist/scripts/simple-query-documentation.js +52 -0
- package/dist/scripts/simple-query-documentation.js.map +1 -0
- package/dist/server.d.ts +3 -0
- package/dist/server.js +37 -0
- package/dist/server.js.map +1 -0
- package/dist/tests/__mocks__/@appium/support.d.ts +21 -0
- package/dist/tests/__mocks__/@appium/support.js +30 -0
- package/dist/tests/__mocks__/@appium/support.js.map +1 -0
- package/dist/tests/generate-all-locators.test.d.ts +1 -0
- package/dist/tests/generate-all-locators.test.js +140 -0
- package/dist/tests/generate-all-locators.test.js.map +1 -0
- package/dist/tests/test-setup-wda.d.ts +1 -0
- package/dist/tests/test-setup-wda.js +202 -0
- package/dist/tests/test-setup-wda.js.map +1 -0
- package/dist/tools/answer-appium.d.ts +1 -0
- package/dist/tools/answer-appium.js +71 -0
- package/dist/tools/answer-appium.js.map +1 -0
- package/dist/tools/boot-simulator.d.ts +1 -0
- package/dist/tools/boot-simulator.js +71 -0
- package/dist/tools/boot-simulator.js.map +1 -0
- package/dist/tools/create-session.d.ts +1 -0
- package/dist/tools/create-session.js +192 -0
- package/dist/tools/create-session.js.map +1 -0
- package/dist/tools/delete-session.d.ts +1 -0
- package/dist/tools/delete-session.js +47 -0
- package/dist/tools/delete-session.js.map +1 -0
- package/dist/tools/documentation/index.d.ts +28 -0
- package/dist/tools/documentation/index.js +63 -0
- package/dist/tools/documentation/index.js.map +1 -0
- package/dist/tools/documentation/reasoning-rag.d.ts +88 -0
- package/dist/tools/documentation/reasoning-rag.js +281 -0
- package/dist/tools/documentation/reasoning-rag.js.map +1 -0
- package/dist/tools/documentation/sentence-transformers-embeddings.d.ts +34 -0
- package/dist/tools/documentation/sentence-transformers-embeddings.js +111 -0
- package/dist/tools/documentation/sentence-transformers-embeddings.js.map +1 -0
- package/dist/tools/documentation/simple-pdf-indexer.d.ts +45 -0
- package/dist/tools/documentation/simple-pdf-indexer.js +402 -0
- package/dist/tools/documentation/simple-pdf-indexer.js.map +1 -0
- package/dist/tools/documentation/uploads/documents.json +1 -0
- package/dist/tools/generate-tests.d.ts +2 -0
- package/dist/tools/generate-tests.js +46 -0
- package/dist/tools/generate-tests.js.map +1 -0
- package/dist/tools/index.d.ts +16 -0
- package/dist/tools/index.js +114 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/install-wda.d.ts +1 -0
- package/dist/tools/install-wda.js +219 -0
- package/dist/tools/install-wda.js.map +1 -0
- package/dist/tools/interactions/activate-app.d.ts +2 -0
- package/dist/tools/interactions/activate-app.js +44 -0
- package/dist/tools/interactions/activate-app.js.map +1 -0
- package/dist/tools/interactions/click.d.ts +2 -0
- package/dist/tools/interactions/click.js +45 -0
- package/dist/tools/interactions/click.js.map +1 -0
- package/dist/tools/interactions/double-tap.d.ts +2 -0
- package/dist/tools/interactions/double-tap.js +81 -0
- package/dist/tools/interactions/double-tap.js.map +1 -0
- package/dist/tools/interactions/find.d.ts +13 -0
- package/dist/tools/interactions/find.js +55 -0
- package/dist/tools/interactions/find.js.map +1 -0
- package/dist/tools/interactions/get-page-source.d.ts +2 -0
- package/dist/tools/interactions/get-page-source.js +48 -0
- package/dist/tools/interactions/get-page-source.js.map +1 -0
- package/dist/tools/interactions/get-text.d.ts +2 -0
- package/dist/tools/interactions/get-text.js +45 -0
- package/dist/tools/interactions/get-text.js.map +1 -0
- package/dist/tools/interactions/install-app.d.ts +2 -0
- package/dist/tools/interactions/install-app.js +43 -0
- package/dist/tools/interactions/install-app.js.map +1 -0
- package/dist/tools/interactions/list-apps.d.ts +2 -0
- package/dist/tools/interactions/list-apps.js +59 -0
- package/dist/tools/interactions/list-apps.js.map +1 -0
- package/dist/tools/interactions/screenshot.d.ts +2 -0
- package/dist/tools/interactions/screenshot.js +49 -0
- package/dist/tools/interactions/screenshot.js.map +1 -0
- package/dist/tools/interactions/set-value.d.ts +2 -0
- package/dist/tools/interactions/set-value.js +46 -0
- package/dist/tools/interactions/set-value.js.map +1 -0
- package/dist/tools/interactions/terminate-app.d.ts +2 -0
- package/dist/tools/interactions/terminate-app.js +45 -0
- package/dist/tools/interactions/terminate-app.js.map +1 -0
- package/dist/tools/interactions/uninstall-app.d.ts +2 -0
- package/dist/tools/interactions/uninstall-app.js +45 -0
- package/dist/tools/interactions/uninstall-app.js.map +1 -0
- package/dist/tools/locators.d.ts +1 -0
- package/dist/tools/locators.js +71 -0
- package/dist/tools/locators.js.map +1 -0
- package/dist/tools/scroll-to-element.d.ts +1 -0
- package/dist/tools/scroll-to-element.js +155 -0
- package/dist/tools/scroll-to-element.js.map +1 -0
- package/dist/tools/scroll.d.ts +1 -0
- package/dist/tools/scroll.js +91 -0
- package/dist/tools/scroll.js.map +1 -0
- package/dist/tools/select-device.d.ts +5 -0
- package/dist/tools/select-device.js +222 -0
- package/dist/tools/select-device.js.map +1 -0
- package/dist/tools/select-platform.d.ts +1 -0
- package/dist/tools/select-platform.js +195 -0
- package/dist/tools/select-platform.js.map +1 -0
- package/dist/tools/session-store.d.ts +7 -0
- package/dist/tools/session-store.js +64 -0
- package/dist/tools/session-store.js.map +1 -0
- package/dist/tools/setup-wda.d.ts +1 -0
- package/dist/tools/setup-wda.js +177 -0
- package/dist/tools/setup-wda.js.map +1 -0
- package/docs/CONTRIBUTING.md +424 -0
- package/eslint.config.js +49 -0
- package/examples/android-gmail.md +7 -0
- package/examples/android-todo-app.md +9 -0
- package/jest.config.js +23 -0
- package/package.json +71 -6
- package/scripts/setup-submodules-sparse.sh +53 -0
- package/scripts/update-submodules.sh +14 -0
- package/src/devicemanager/adb-manager.ts +164 -0
- package/src/devicemanager/ios-manager.ts +145 -0
- package/src/index.ts +47 -0
- package/src/locators/element-filter.ts +134 -0
- package/src/locators/generate-all-locators.ts +149 -0
- package/src/locators/locator-generation.ts +657 -0
- package/src/locators/logger.ts +11 -0
- package/src/locators/source-parsing.ts +149 -0
- package/src/resources/caps.json +697 -0
- package/src/resources/index.ts +7 -0
- package/src/resources/java/template.ts +83 -0
- package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
- package/src/resources/submodules/appium/CHANGELOG.md +45 -0
- package/src/resources/submodules/appium/CONDUCT.md +48 -0
- package/src/resources/submodules/appium/GOVERNANCE.md +185 -0
- package/src/resources/submodules/appium/IDEAS.md +16 -0
- package/src/resources/submodules/appium/README.md +221 -0
- package/src/resources/submodules/appium/ROADMAP.md +30 -0
- package/src/resources/submodules/appium/SPONSORS.md +3 -0
- package/src/resources/submodules/appium/docs/README.md +6 -0
- package/src/resources/submodules/appium/docs/payout.md +35 -0
- package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +1437 -0
- package/src/resources/submodules/appium/packages/appium/README.md +221 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +2 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +47 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +42 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +48 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +40 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +15 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +150 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +141 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +860 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +514 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +451 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +18 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +49 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +132 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +207 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +138 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +83 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +57 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +76 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +275 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +98 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +44 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +73 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +122 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +166 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +17 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +87 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +368 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +464 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +89 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +68 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +42 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/index.md +59 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +202 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +127 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +188 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +196 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +39 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +29 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +50 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +29 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +105 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +75 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +60 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +83 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +144 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +394 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +70 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +30 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +214 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +151 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +671 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +289 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +1114 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +239 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +35 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +76 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +76 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +25 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +28 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +64 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +2 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +47 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +48 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +40 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +15 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +158 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +141 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +866 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +520 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +468 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +18 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +49 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +143 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +219 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +140 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +87 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +57 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +78 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +259 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +102 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +44 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +75 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +142 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +166 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +17 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +89 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +402 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +458 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +89 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +70 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +43 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +55 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +191 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +139 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +188 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +196 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +39 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +47 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +19 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +29 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +107 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +77 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +63 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +85 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +148 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +395 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +71 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +30 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +215 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +152 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +672 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +291 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +1114 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +240 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +35 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +76 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +78 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +25 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +28 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +61 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +2 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +47 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +48 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +40 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +15 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +132 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +141 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +866 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +520 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +468 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +18 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +49 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +143 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +219 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +45 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +140 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +87 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +57 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +78 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +284 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +102 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +44 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +75 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +142 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +166 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +17 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +86 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +89 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +410 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +459 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +89 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +70 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +43 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +54 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +200 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +139 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +188 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +196 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +39 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +47 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +19 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +21 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +99 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +20 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +62 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +57 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +80 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +148 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +395 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +71 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +30 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +215 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +152 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +672 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +291 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +1114 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +240 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +35 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +76 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +78 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +25 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +28 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +61 -0
- package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
- package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1131 -0
- package/src/resources/submodules/appium/packages/base-driver/README.md +15 -0
- package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +82 -0
- package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +182 -0
- package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
- package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +672 -0
- package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
- package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +948 -0
- package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
- package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +717 -0
- package/src/resources/submodules/appium/packages/driver-test-support/README.md +112 -0
- package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +168 -0
- package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +33 -0
- package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +603 -0
- package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +42 -0
- package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +545 -0
- package/src/resources/submodules/appium/packages/fake-driver/README.md +7 -0
- package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
- package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +683 -0
- package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
- package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +602 -0
- package/src/resources/submodules/appium/packages/images-plugin/README.md +27 -0
- package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +65 -0
- package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +203 -0
- package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
- package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
- package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
- package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
- package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +162 -0
- package/src/resources/submodules/appium/packages/logger/README.md +31 -0
- package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +384 -0
- package/src/resources/submodules/appium/packages/opencv/README.md +68 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
- package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
- package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +539 -0
- package/src/resources/submodules/appium/packages/plugin-test-support/README.md +49 -0
- package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +154 -0
- package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
- package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +271 -0
- package/src/resources/submodules/appium/packages/schema/README.md +50 -0
- package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +73 -0
- package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
- package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +94 -0
- package/src/resources/submodules/appium/packages/strongbox/README.md +96 -0
- package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1054 -0
- package/src/resources/submodules/appium/packages/support/README.md +161 -0
- package/src/resources/submodules/appium/packages/test-support/CHANGELOG.md +712 -0
- package/src/resources/submodules/appium/packages/test-support/README.md +61 -0
- package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +131 -0
- package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
- package/src/resources/submodules/appium/packages/types/CHANGELOG.md +793 -0
- package/src/resources/submodules/appium/packages/types/README.md +21 -0
- package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +435 -0
- package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
- package/src/resources/submodules/appium/renovate/README.md +63 -0
- package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1204 -0
- package/src/resources/submodules/appium-uiautomator2-driver/README.md +2077 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +72 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +47 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +69 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +352 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +50 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +136 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +155 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +51 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +95 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
- package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
- package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
- package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +4 -0
- package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +2594 -0
- package/src/resources/submodules/appium-xcuitest-driver/README.md +55 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +45 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +61 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +98 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +43 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +78 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +169 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +47 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +47 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/elements-lookup-troubleshooting.md +158 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +147 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +52 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +137 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +67 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +19 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +37 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +39 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +135 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +178 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/touch-id.md +33 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/troubleshooting.md +191 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +114 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-slowness.md +231 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/installation/index.md +137 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +19 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/check-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-new-project.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-single-page.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/no-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/project-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/set-up-bundle.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/untrusted-dev.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-bundle-id.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-config.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-fail.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-succeed.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/index.md +51 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-auto.md +49 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-manual.md +40 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-full-manual.md +50 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-generic-manual.md +49 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/real-device-config.md +100 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +75 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +165 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +490 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +27 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2206 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +196 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +19 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +29 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +22 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +16 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +49 -0
- package/src/resources/submodules/appium-xcuitest-driver/test/assets/TestApp-iphonesimulator.app/Default-568h@2x.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
- package/src/schema.ts +5 -0
- package/src/scripts/simple-index-documentation.ts +93 -0
- package/src/scripts/simple-query-documentation.ts +61 -0
- package/src/server.ts +40 -0
- package/src/tests/README.md +83 -0
- package/src/tests/__mocks__/@appium/support.ts +31 -0
- package/src/tests/generate-all-locators.test.ts +179 -0
- package/src/tests/test-setup-wda.ts +247 -0
- package/src/tools/README.md +171 -0
- package/src/tools/answer-appium.ts +75 -0
- package/src/tools/boot-simulator.ts +87 -0
- package/src/tools/create-session.ts +270 -0
- package/src/tools/delete-session.ts +46 -0
- package/src/tools/documentation/index.ts +97 -0
- package/src/tools/documentation/reasoning-rag.ts +434 -0
- package/src/tools/documentation/sentence-transformers-embeddings.ts +142 -0
- package/src/tools/documentation/simple-pdf-indexer.ts +509 -0
- package/src/tools/documentation/uploads/documents.json +1 -0
- package/src/tools/generate-tests.ts +50 -0
- package/src/tools/index.ts +135 -0
- package/src/tools/install-wda.ts +277 -0
- package/src/tools/interactions/activate-app.ts +46 -0
- package/src/tools/interactions/click.ts +47 -0
- package/src/tools/interactions/double-tap.ts +87 -0
- package/src/tools/interactions/find.ts +58 -0
- package/src/tools/interactions/get-page-source.ts +52 -0
- package/src/tools/interactions/get-text.ts +47 -0
- package/src/tools/interactions/install-app.ts +45 -0
- package/src/tools/interactions/list-apps.ts +65 -0
- package/src/tools/interactions/screenshot.ts +56 -0
- package/src/tools/interactions/set-value.ts +48 -0
- package/src/tools/interactions/terminate-app.ts +47 -0
- package/src/tools/interactions/uninstall-app.ts +47 -0
- package/src/tools/locators.ts +83 -0
- package/src/tools/scroll-to-element.ts +188 -0
- package/src/tools/scroll.ts +97 -0
- package/src/tools/select-device.ts +298 -0
- package/src/tools/select-platform.ts +243 -0
- package/src/tools/session-store.ts +72 -0
- package/src/tools/setup-wda.ts +218 -0
- package/src/types/appium-ios-device.d.ts +8 -0
- package/src/types/appium-xcuitest-driver.d.ts +5 -0
- package/tsconfig.json +23 -0
- package/index.js +0 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Appium 3 へ移行する
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<style>
|
|
6
|
+
.md-typeset .grid {
|
|
7
|
+
grid-template-columns: repeat(auto-fit,minmax(min(100%,11rem),1fr));
|
|
8
|
+
}
|
|
9
|
+
</style>
|
|
10
|
+
|
|
11
|
+
このドキュメントは既にAppium 2 を利用している人がAppium 3 に移行するための手引きです。
|
|
12
|
+
破壊的変更と、それらを処理するためのヒントが含まれています。
|
|
13
|
+
|
|
14
|
+
Appium 2 はAppiumアーキテクチャ全体の大きな見直しをしました。 Appium 3 は限られた破壊的変更のみの比較的小さな更新であり、移行プロセスがはるかに簡易になります。
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
|
|
19
|
+
can simply install Appium 3 on top of your existing installation:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# optional: `appium setup reset`
|
|
23
|
+
npm install -g appium
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
\## 破壊的変更
|
|
27
|
+
|
|
28
|
+
### Node 20+ Required
|
|
29
|
+
|
|
30
|
+
With Appium 2, the minimum required Node version was `14.17.0`. Support for Node 14 had already
|
|
31
|
+
ended before the release of Appium 2, which meant that even users on outdated Node versions were
|
|
32
|
+
able to use it.
|
|
33
|
+
|
|
34
|
+
Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
|
|
35
|
+
`20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
|
|
36
|
+
version to `10`.
|
|
37
|
+
|
|
38
|
+
!!! info "Actions Needed"
|
|
39
|
+
|
|
40
|
+
Upgrade Node.js to `v20.19.0` or newer, and `npm` to `v10` or newer
|
|
41
|
+
|
|
42
|
+
### Deprecated Endpoints Removed
|
|
43
|
+
|
|
44
|
+
Appium 3 removes many previously deprecated server endpoints. Some of these endpoints have now
|
|
45
|
+
become specific to one or more drivers, while most others have direct or close-to-direct
|
|
46
|
+
replacements in other endpoints. All removed endpoints, along with replacements (where applicable)
|
|
47
|
+
are listed [in the **Removed Endpoints** section](#removed).
|
|
48
|
+
|
|
49
|
+
Some W3C endpoints used in Appium also existed in the old JSONWP standard, but required different
|
|
50
|
+
parameters. With Appium 2, both standards for these endpoints were supported. Appium 3 changes
|
|
51
|
+
these endpoints by removing support for the JSONWP parameters, and only accepting the W3C
|
|
52
|
+
parameters. These endpoints are listed [in the **Modified Endpoints** section](#modified).
|
|
53
|
+
|
|
54
|
+
!!! info "Actions Needed"
|
|
55
|
+
|
|
56
|
+
Check your Appium client documentation for the affected methods, and adjust your code to use
|
|
57
|
+
their replacements
|
|
58
|
+
|
|
59
|
+
### Feature Flag Prefix Required
|
|
60
|
+
|
|
61
|
+
With Appium 2, it was possible to opt into certain [insecure features](./security.md) on server
|
|
62
|
+
startup, which could be enabled using the `--allow-insecure` or `--relaxed-security` flags. Appium
|
|
63
|
+
`2.13` added the ability to optionally provide a scope prefix to specific features, ensuring that
|
|
64
|
+
they would only be enabled for the specified driver (or all of them).
|
|
65
|
+
|
|
66
|
+
Appium 3 makes the scope prefix mandatory, and will throw an error if features are specified
|
|
67
|
+
without a scope. Note that the behavior of the `--relaxed-security` flag remains unchanged.
|
|
68
|
+
|
|
69
|
+
!!! info "Actions Needed"
|
|
70
|
+
|
|
71
|
+
If you use the `--allow-insecure` server flag, add a scope prefix before each feature name.
|
|
72
|
+
For example, if you use the UiAutomator2 `adb_shell` feature, on Appium 2 you would enable it
|
|
73
|
+
like this:
|
|
74
|
+
` appium --allow-insecure=adb_shell `
|
|
75
|
+
On Appium 3, to ensure this feature is only activated for UiAutomator2, you can run it like so:
|
|
76
|
+
` appium --allow-insecure=uiautomator2:adb_shell `
|
|
77
|
+
Alternatively, if you wish to keep the Appium 2 behavior and enable the feature for _all_
|
|
78
|
+
drivers that support it, you can use the wildcard (`*`) prefix:
|
|
79
|
+
` appium --allow-insecure=*:adb_shell `
|
|
80
|
+
Server-scope features like `session_discovery` also require the wildcard prefix.
|
|
81
|
+
|
|
82
|
+
### Session Discovery Requires Feature Flag
|
|
83
|
+
|
|
84
|
+
In Appium 2, it was possible to retrieve all active server sessions via the `GET /sessions`
|
|
85
|
+
endpoint. This information could then be used, for example, in Appium Inspector, in order to attach
|
|
86
|
+
to an existing session, instead of creating a new one.
|
|
87
|
+
|
|
88
|
+
Appium 3 makes two changes to the session discovery process:
|
|
89
|
+
|
|
90
|
+
- The `GET /sessions` endpoint is replaced with `GET /appium/sessions` (see [the Removed Endpoints section](#removed))
|
|
91
|
+
- The use of the new endpoint requires the `session_discovery` [feature flag](./security.md)
|
|
92
|
+
|
|
93
|
+
The return value of `GET /appium/sessions` is largely identical to `GET /sessions`, but additionally
|
|
94
|
+
includes the `created` field for each session entry, indicating the session creation time as a Unix
|
|
95
|
+
timestamp. The rest of the result format remains unchanged.
|
|
96
|
+
|
|
97
|
+
To reduce migration efforts, the `GET /appium/sessions` endpoint (locked behind the aforementioned
|
|
98
|
+
feature flag) is also available in Appium `2.19`, allowing you to adjust your code before upgrading
|
|
99
|
+
to Appium 3. As for Appium Inspector, support for this new endpoint is available starting from
|
|
100
|
+
version `2025.3.1`.
|
|
101
|
+
|
|
102
|
+
!!! info "Actions Needed"
|
|
103
|
+
|
|
104
|
+
\* If your code uses session retrieval, change the endpoint from `GET /sessions` to
|
|
105
|
+
`GET /appium/sessions`
|
|
106
|
+
\* If you use Appium Inspector's Attach to Session feature, upgrade to version `2025.3.1` or later
|
|
107
|
+
\* In both cases, ensure your Appium server is launched with the `session_discovery`
|
|
108
|
+
[feature flag](./security.md)
|
|
109
|
+
|
|
110
|
+
### Unzip Logic Removed
|
|
111
|
+
|
|
112
|
+
Appium 3 removes the custom unzip logic used when working with files like application packages.
|
|
113
|
+
Such files are often only relevant to particular platforms, therefore the functionality for
|
|
114
|
+
handling these operations has been moved to relevant drivers.
|
|
115
|
+
|
|
116
|
+
!!! info "Actions Needed"
|
|
117
|
+
|
|
118
|
+
Ensure you are using the most recent versions of your drivers
|
|
119
|
+
|
|
120
|
+
### Express 5
|
|
121
|
+
|
|
122
|
+
Appium 3 upgrades the internally-used `express` dependency from `v4` to `v5`. This should not
|
|
123
|
+
affect users who use Appium directly, but developers integrating parts of Appium into their own
|
|
124
|
+
projects may want to check [the Express 5 Migration Guide](https://expressjs.com/en/guide/migrating-5.html).
|
|
125
|
+
|
|
126
|
+
!!! info "Actions Needed"
|
|
127
|
+
|
|
128
|
+
None! (hopefully)
|
|
129
|
+
|
|
130
|
+
## Endpoint Changes
|
|
131
|
+
|
|
132
|
+
### Removed
|
|
133
|
+
|
|
134
|
+
The following is a list of all the Appium server endpoints removed in Appium 3. For ease of
|
|
135
|
+
migration, additional information is provided for each endpoint: drivers that still support the
|
|
136
|
+
endpoint; suggested replacement endpoints, or, rarely, the lack of any available replacements.
|
|
137
|
+
|
|
138
|
+
Icons are used to indicate endpoint support in either certain drivers, or in the core Appium server
|
|
139
|
+
(applicable to all drivers):
|
|
140
|
+
|
|
141
|
+
<div class="grid cards" markdown>
|
|
142
|
+
|
|
143
|
+
- :simple-appium:{ .lg } - Appium server
|
|
144
|
+
- :material-apple:{ .lg } - [XCUITest driver](https://appium.github.io/appium-xcuitest-driver/latest/)
|
|
145
|
+
- :material-android:{ .lg } - [UiAutomator2 driver](https://github.com/appium/appium-uiautomator2-driver/)
|
|
146
|
+
- :material-coffee:{ .lg } - [Espresso driver](https://github.com/appium/appium-espresso-driver)
|
|
147
|
+
- :material-apple-finder:{ .lg } - [Mac2 driver](https://github.com/appium/appium-mac2-driver)
|
|
148
|
+
- :material-microsoft-windows:{ .lg } - [Windows driver](https://github.com/appium/appium-windows-driver)
|
|
149
|
+
|
|
150
|
+
</div>
|
|
151
|
+
|
|
152
|
+
- `GET /sessions`
|
|
153
|
+
- :octicons-arrow-right-24: `GET /appium/sessions` :simple-appium:
|
|
154
|
+
- `POST /session/:sessionId/accept_alert`
|
|
155
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/alert/accept` :simple-appium:
|
|
156
|
+
- :octicons-arrow-right-24: `mobile: alert` [execute method](./execute-methods.md) :material-apple:
|
|
157
|
+
- :octicons-arrow-right-24: `mobile: acceptAlert` execute method :material-android:
|
|
158
|
+
- `GET /session/:sessionId/alert_text`
|
|
159
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/alert/text` :simple-appium:
|
|
160
|
+
- `POST /session/:sessionId/alert_text`
|
|
161
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/alert/text` :simple-appium:
|
|
162
|
+
- `POST /session/:sessionId/appium/app/background`
|
|
163
|
+
- :octicons-arrow-right-24: `mobile: backgroundApp` execute method :material-apple: :material-android: :material-coffee:
|
|
164
|
+
- `POST /session/:sessionId/appium/app/close`
|
|
165
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
166
|
+
- :octicons-arrow-right-24: `mobile: terminateApp` execute method :material-apple: :material-android: :material-coffee:
|
|
167
|
+
- :octicons-arrow-right-24: `macos: terminateApp` execute method :material-apple-finder:
|
|
168
|
+
- :octicons-arrow-right-24: `windows: closeApp` execute method :material-microsoft-windows:
|
|
169
|
+
- `POST /session/:sessionId/appium/app/end_test_coverage`
|
|
170
|
+
- :octicons-arrow-right-24: `mobile: shell` execute method :material-android: :material-coffee:
|
|
171
|
+
- `POST /session/:sessionId/appium/app/launch`
|
|
172
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
173
|
+
- :octicons-arrow-right-24: `mobile: launchApp` execute method :material-apple:
|
|
174
|
+
- :octicons-arrow-right-24: `mobile: activateApp` or `mobile: startActivity` execute methods :material-android: :material-coffee:
|
|
175
|
+
- :octicons-arrow-right-24: `macos: launchApp` or `macos: activateApp` execute methods :material-apple-finder:
|
|
176
|
+
- :octicons-arrow-right-24: `windows: launchApp` execute method :material-microsoft-windows:
|
|
177
|
+
- `POST /session/:sessionId/appium/app/reset`
|
|
178
|
+
- :octicons-arrow-right-24: `mobile: clearApp` execute method :material-apple: [^sim] :material-android: :material-coffee:
|
|
179
|
+
- `POST /session/:sessionId/appium/app/strings`
|
|
180
|
+
- :octicons-arrow-right-24: `mobile: getAppStrings` execute method :material-apple: :material-android: :material-coffee:
|
|
181
|
+
- `GET /session/:sessionId/appium/device/app_state`
|
|
182
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/appium/device/app_state` :simple-appium:
|
|
183
|
+
- :octicons-arrow-right-24: `mobile: queryAppState` execute method :material-apple: :material-android: :material-coffee:
|
|
184
|
+
- :octicons-arrow-right-24: `macos: queryAppState` execute method :material-apple-finder:
|
|
185
|
+
- `GET /session/:sessionId/appium/device/current_activity`
|
|
186
|
+
- :octicons-arrow-right-24: `mobile: getCurrentActivity` execute method :material-android: :material-coffee:
|
|
187
|
+
- `GET /session/:sessionId/appium/device/current_package`
|
|
188
|
+
- :octicons-arrow-right-24: `mobile: getCurrentPackage` execute method :material-android: :material-coffee:
|
|
189
|
+
- `GET /session/:sessionId/appium/device/display_density`
|
|
190
|
+
- :octicons-arrow-right-24: `mobile: getDisplayDensity` execute method :material-android: :material-coffee:
|
|
191
|
+
- `POST /session/:sessionId/appium/device/finger_print`
|
|
192
|
+
- :octicons-arrow-right-24: `mobile: fingerPrint` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
193
|
+
- `POST /session/:sessionId/appium/device/get_clipboard`
|
|
194
|
+
- :octicons-check-24: Moved to drivers: :material-android: :material-coffee:
|
|
195
|
+
- :octicons-arrow-right-24: `mobile: getClipboard` execute method :material-apple: :material-android: :material-coffee:
|
|
196
|
+
- :octicons-arrow-right-24: `mobile: getPasteboard` execute method :material-apple: [^sim]
|
|
197
|
+
- :octicons-arrow-right-24: `windows: getClipboard` execute method :material-microsoft-windows:
|
|
198
|
+
- `POST /session/:sessionId/appium/device/gsm_call`
|
|
199
|
+
- :octicons-arrow-right-24: `mobile: gsmCall` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
200
|
+
- `POST /session/:sessionId/appium/device/gsm_signal`
|
|
201
|
+
- :octicons-arrow-right-24: `mobile: gsmSignal` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
202
|
+
- `POST /session/:sessionId/appium/device/gsm_voice`
|
|
203
|
+
- :octicons-arrow-right-24: `mobile: gsmVoice` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
204
|
+
- `POST /session/:sessionId/appium/device/is_locked`
|
|
205
|
+
- :octicons-arrow-right-24: `mobile: isLocked` execute method :material-apple: :material-android: :material-coffee:
|
|
206
|
+
- `POST /session/:sessionId/appium/device/keyevent`
|
|
207
|
+
- :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
|
|
208
|
+
- :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
|
|
209
|
+
- :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
|
|
210
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
211
|
+
- `POST /session/:sessionId/appium/device/lock`
|
|
212
|
+
- :octicons-arrow-right-24: `mobile: lock` execute method :material-apple: :material-android: :material-coffee:
|
|
213
|
+
- `POST /session/:sessionId/appium/device/long_press_keycode`
|
|
214
|
+
- :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
|
|
215
|
+
- `POST /session/:sessionId/appium/device/network_speed`
|
|
216
|
+
- :octicons-arrow-right-24: `mobile: networkSpeed` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
217
|
+
- `POST /session/:sessionId/appium/device/open_notifications`
|
|
218
|
+
- :octicons-arrow-right-24: `mobile: statusBar` execute method :material-android: :material-coffee:
|
|
219
|
+
- :octicons-arrow-right-24: `mobile: openNotifications` execute method :material-android:
|
|
220
|
+
- `POST /session/:sessionId/appium/device/power_ac`
|
|
221
|
+
- :octicons-arrow-right-24: `mobile: powerAC` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
222
|
+
- `POST /session/:sessionId/appium/device/power_capacity`
|
|
223
|
+
- :octicons-arrow-right-24: `mobile: powerCapacity` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
224
|
+
- `POST /session/:sessionId/appium/device/press_keycode`
|
|
225
|
+
- :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
|
|
226
|
+
- :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
|
|
227
|
+
- :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
|
|
228
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
229
|
+
- `POST /session/:sessionId/appium/device/send_sms`
|
|
230
|
+
- :octicons-arrow-right-24: `mobile: sendSms` execute method :material-android: [^sim] :material-coffee: [^sim]
|
|
231
|
+
- `POST /session/:sessionId/appium/device/set_clipboard`
|
|
232
|
+
- :octicons-arrow-right-24: `mobile: setClipboard` execute method :material-apple: :material-android: :material-coffee:
|
|
233
|
+
- :octicons-arrow-right-24: `mobile: setPasteboard` execute method :material-apple: [^sim]
|
|
234
|
+
- :octicons-arrow-right-24: `windows: setClipboard` execute method :material-microsoft-windows:
|
|
235
|
+
- `POST /session/:sessionId/appium/device/shake`
|
|
236
|
+
- :octicons-arrow-right-24: `mobile: shake` execute method :material-apple: [^sim]
|
|
237
|
+
- `POST /session/:sessionId/appium/device/start_activity`
|
|
238
|
+
- :octicons-arrow-right-24: `mobile: startActivity` execute method :material-android: :material-coffee:
|
|
239
|
+
- `GET /session/:sessionId/appium/device/system_bars`
|
|
240
|
+
- :octicons-arrow-right-24: `mobile: deviceScreenInfo` execute method :material-apple:
|
|
241
|
+
- :octicons-arrow-right-24: `mobile: getSystemBars` execute method :material-android: :material-coffee:
|
|
242
|
+
- `POST /session/:sessionId/appium/device/toggle_airplane_mode`
|
|
243
|
+
- :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
|
|
244
|
+
- `POST /session/:sessionId/appium/device/toggle_data`
|
|
245
|
+
- :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
|
|
246
|
+
- `POST /session/:sessionId/appium/device/toggle_location_services`
|
|
247
|
+
- :octicons-arrow-right-24: `mobile: toggleGps` execute method :material-android: :material-coffee:
|
|
248
|
+
- `POST /session/:sessionId/appium/device/toggle_wifi`
|
|
249
|
+
- :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
|
|
250
|
+
- `POST /session/:sessionId/appium/device/unlock`
|
|
251
|
+
- :octicons-arrow-right-24: `mobile: unlock` execute method :material-apple: :material-android: :material-coffee:
|
|
252
|
+
- `POST /session/:sessionId/appium/element/:elementId/value`
|
|
253
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
|
|
254
|
+
- `POST /session/:sessionId/appium/element/:elementId/replace_value`
|
|
255
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
|
|
256
|
+
- `POST /session/:sessionId/appium/getPerformanceData`
|
|
257
|
+
- :octicons-arrow-right-24: `mobile: getPerformanceData` execute method :material-android: :material-coffee:
|
|
258
|
+
- `POST /session/:sessionId/appium/performanceData/types`
|
|
259
|
+
- :octicons-arrow-right-24: `mobile: getPerformanceDataTypes` execute method :material-android: :material-coffee:
|
|
260
|
+
- `POST /session/:sessionId/appium/receive_async_response`
|
|
261
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
|
|
262
|
+
- `POST /session/:sessionId/appium/simulator/toggle_touch_id_enrollment`
|
|
263
|
+
- :octicons-arrow-right-24: `mobile: enrollBiometric` execute method :material-apple: [^sim]
|
|
264
|
+
- `POST /session/:sessionId/appium/simulator/touch_id`
|
|
265
|
+
- :octicons-arrow-right-24: `mobile: sendBiometricMatch` execute method :material-apple: [^sim]
|
|
266
|
+
- `POST /session/:sessionId/appium/start_recording_screen`
|
|
267
|
+
- :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
|
|
268
|
+
- :octicons-arrow-right-24: `mobile: startXCTestScreenRecording` execute method :material-apple:
|
|
269
|
+
- :octicons-arrow-right-24: `mobile: startMediaProjectionRecording` execute method :material-android: :material-coffee:
|
|
270
|
+
- :octicons-arrow-right-24: `macos: startRecordingScreen` or `macos: startNativeScreenRecording` execute methods :material-apple-finder:
|
|
271
|
+
- :octicons-arrow-right-24: `windows: startRecordingScreen` execute method :material-microsoft-windows:
|
|
272
|
+
- `POST /session/:sessionId/appium/stop_recording_screen`
|
|
273
|
+
- :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
|
|
274
|
+
- :octicons-arrow-right-24: `mobile: stopXCTestScreenRecording` execute method :material-apple:
|
|
275
|
+
- :octicons-arrow-right-24: `mobile: stopMediaProjectionRecording` execute method :material-android: :material-coffee:
|
|
276
|
+
- :octicons-arrow-right-24: `macos: stopRecordingScreen` or `macos: stopNativeScreenRecording` execute methods :material-apple-finder:
|
|
277
|
+
- :octicons-arrow-right-24: `windows: stopRecordingScreen` execute method :material-microsoft-windows:
|
|
278
|
+
- `GET /session/:sessionId/application_cache/status`
|
|
279
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
280
|
+
- `POST /session/:sessionId/buttondown`
|
|
281
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
282
|
+
- :octicons-arrow-right-24: [W3C Actions API](https://www.selenium.dev/documentation/webdriver/actions_api/) (`pointerDown`) :simple-appium:
|
|
283
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
284
|
+
- `POST /session/:sessionId/buttonup`
|
|
285
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
286
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
|
|
287
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
288
|
+
- `POST /session/:sessionId/click`
|
|
289
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
290
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
|
|
291
|
+
- `POST /session/:sessionId/dismiss_alert`
|
|
292
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/alert/dismiss` :simple-appium:
|
|
293
|
+
- `POST /session/:sessionId/doubleclick`
|
|
294
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
295
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
|
|
296
|
+
- `POST /session/:sessionId/element/active`
|
|
297
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/element/active` :simple-appium:
|
|
298
|
+
- `GET /session/:sessionId/element/:elementId/equals/:otherId`
|
|
299
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
300
|
+
- `GET /session/:sessionId/element/:elementId/location`
|
|
301
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
302
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
|
|
303
|
+
- `GET /session/:sessionId/element/:elementId/location_in_view`
|
|
304
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
305
|
+
- `GET /session/:sessionId/element/:elementId/pageIndex`
|
|
306
|
+
- :octicons-no-entry-24: MJSONWP protocol command with no direct replacement
|
|
307
|
+
- `GET /session/:sessionId/element/:elementId/size`
|
|
308
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
309
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
|
|
310
|
+
- `POST /session/:sessionId/element/:elementId/submit`
|
|
311
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
312
|
+
- `POST /session/:sessionId/execute`
|
|
313
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/execute/sync` :simple-appium:
|
|
314
|
+
- `POST /session/:sessionId/execute_async`
|
|
315
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
|
|
316
|
+
- `POST /session/:sessionId/keys`
|
|
317
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
318
|
+
- :octicons-arrow-right-24: W3C Actions API (`keyDown` & `keyUp`) :simple-appium:
|
|
319
|
+
- Selenium-based clients can also use [Send Keys](https://www.selenium.dev/documentation/webdriver/actions_api/keyboard/#send-keys)
|
|
320
|
+
- `GET /session/:sessionId/local_storage`
|
|
321
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
322
|
+
- `POST /session/:sessionId/local_storage`
|
|
323
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
324
|
+
- `DELETE /session/:sessionId/local_storage`
|
|
325
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
326
|
+
- `GET /session/:sessionId/local_storage/key/:key`
|
|
327
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
328
|
+
- `DELETE /session/:sessionId/local_storage/key/:key`
|
|
329
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
330
|
+
- `GET /session/:sessionId/local_storage/size`
|
|
331
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
332
|
+
- `POST /session/:sessionId/log`
|
|
333
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/se/log` :simple-appium:
|
|
334
|
+
- `GET /session/:sessionId/log/types`
|
|
335
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/se/log/types` :simple-appium:
|
|
336
|
+
- `POST /session/:sessionId/moveto`
|
|
337
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
|
|
338
|
+
- Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
|
|
339
|
+
- `GET /session/:sessionId/screenshot/:elementId`
|
|
340
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/screenshot` :simple-appium:
|
|
341
|
+
- `GET /session/:sessionId/session_storage`
|
|
342
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
343
|
+
- `POST /session/:sessionId/session_storage`
|
|
344
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
345
|
+
- `DELETE /session/:sessionId/session_storage`
|
|
346
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
347
|
+
- `GET /session/:sessionId/session_storage/key/:key`
|
|
348
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
349
|
+
- `DELETE /session/:sessionId/session_storage/key/:key`
|
|
350
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
351
|
+
- `GET /session/:sessionId/session_storage/size`
|
|
352
|
+
- :octicons-no-entry-24: JSONWP protocol command with no direct replacement
|
|
353
|
+
- `POST /session/:sessionId/timeouts/async_script`
|
|
354
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
|
|
355
|
+
- `POST /session/:sessionId/timeouts/implicit_wait`
|
|
356
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
|
|
357
|
+
- `POST /session/:sessionId/touch/click`
|
|
358
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
359
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
|
|
360
|
+
- Selenium-based clients can also use [Click and Release](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#click-and-release)
|
|
361
|
+
- :octicons-arrow-right-24: `mobile: tap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
|
|
362
|
+
- :octicons-arrow-right-24: `mobile: clickGesture` execute method :material-android:
|
|
363
|
+
- :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
|
|
364
|
+
- :octicons-arrow-right-24: `macos: click`, `macos: rightClick`, `macos: press` or `macos: tap` execute methods :material-apple-finder:
|
|
365
|
+
- :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
|
|
366
|
+
- `POST /session/:sessionId/touch/doubleclick`
|
|
367
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
|
|
368
|
+
- Selenium-based clients can also use [Double Click](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#double-click)
|
|
369
|
+
- :octicons-arrow-right-24: `mobile: doubleTap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
|
|
370
|
+
- :octicons-arrow-right-24: `mobile: doubleClickGesture` execute method :material-android:
|
|
371
|
+
- :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
|
|
372
|
+
- :octicons-arrow-right-24: `macos: doubleClick` or `macos: doubleTap` execute methods :material-apple-finder:
|
|
373
|
+
- :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
|
|
374
|
+
- `POST /session/:sessionId/touch/down`
|
|
375
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
376
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown`) :simple-appium:
|
|
377
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
378
|
+
- `POST /session/:sessionId/touch/flick`
|
|
379
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
380
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
|
|
381
|
+
- :octicons-arrow-right-24: `mobile: flingGesture` execute method :material-android:
|
|
382
|
+
- `POST /session/:sessionId/touch/longclick`
|
|
383
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
384
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pause` & `pointerUp`) :simple-appium:
|
|
385
|
+
- :octicons-arrow-right-24: `mobile: touchAndHold` execute method :material-apple:
|
|
386
|
+
- :octicons-arrow-right-24: `mobile: longClickGesture` execute method :material-android:
|
|
387
|
+
- :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
|
|
388
|
+
- :octicons-arrow-right-24: `macos: press` execute method :material-apple-finder:
|
|
389
|
+
- :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
|
|
390
|
+
- `POST /session/:sessionId/touch/multi/perform`
|
|
391
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
392
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
|
|
393
|
+
- `POST /session/:sessionId/touch/move`
|
|
394
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
395
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
|
|
396
|
+
- Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
|
|
397
|
+
- `POST /session/:sessionId/touch/perform`
|
|
398
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
399
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
|
|
400
|
+
- `POST /session/:sessionId/touch/scroll`
|
|
401
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
|
|
402
|
+
- :octicons-arrow-right-24: `mobile: scroll` or `mobile: swipe` execute methods :material-apple:
|
|
403
|
+
- :octicons-arrow-right-24: `mobile: scrollGesture` or `mobile: swipeGesture` execute methods :material-android:
|
|
404
|
+
- :octicons-arrow-right-24: `mobile: swipe` execute method :material-coffee:
|
|
405
|
+
- :octicons-arrow-right-24: `macos: scroll` or `macos: swipe` execute methods :material-apple-finder:
|
|
406
|
+
- :octicons-arrow-right-24: `windows: scroll` execute method :material-microsoft-windows:
|
|
407
|
+
- `POST /session/:sessionId/touch/up`
|
|
408
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
409
|
+
- :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
|
|
410
|
+
- :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
|
|
411
|
+
- `GET /session/:sessionId/window_handle`
|
|
412
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
413
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
|
|
414
|
+
- `GET /session/:sessionId/window_handles`
|
|
415
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
416
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/window/handles` :simple-appium:
|
|
417
|
+
- `GET /session/:sessionId/window/handle`
|
|
418
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
|
|
419
|
+
- `POST /session/:sessionId/window/:windowhandle/maximize`
|
|
420
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/window/maximize` :simple-appium:
|
|
421
|
+
- :fontawesome-solid-triangle-exclamation: Only supported for the current window
|
|
422
|
+
- `GET /session/:sessionId/window/:windowhandle/position`
|
|
423
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
|
|
424
|
+
- :fontawesome-solid-triangle-exclamation: Only supported for the current window
|
|
425
|
+
- `POST /session/:sessionId/window/:windowhandle/position`
|
|
426
|
+
- :octicons-arrow-right-24: `POST /session/:sessionId/window/rect` :simple-appium:
|
|
427
|
+
- :fontawesome-solid-triangle-exclamation: Only supported for the current window
|
|
428
|
+
- `GET /session/:sessionId/window/:windowhandle/size`
|
|
429
|
+
- :octicons-check-24: Moved to drivers: :material-microsoft-windows:
|
|
430
|
+
- :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
|
|
431
|
+
- :fontawesome-solid-triangle-exclamation: Only supported for the current window
|
|
432
|
+
|
|
433
|
+
### Modified
|
|
434
|
+
|
|
435
|
+
The following are all endpoints modified in Appium 3, by removing handling for old or unused
|
|
436
|
+
parameters (note that no new parameters have been added). Each endpoint lists the parameters it no
|
|
437
|
+
longer accepts, as well as the parameters it continues to accept in Appium 3.
|
|
438
|
+
|
|
439
|
+
- `POST /session`
|
|
440
|
+
- :octicons-x-24: `desiredCapabilities`, `requiredCapabilities`
|
|
441
|
+
- :octicons-check-24: `capabilities`
|
|
442
|
+
- `POST /session/:sessionId/alert/text`
|
|
443
|
+
- :octicons-x-24: `value`
|
|
444
|
+
- :octicons-check-24: `text`
|
|
445
|
+
- `GET /session/:sessionId/appium/device/system_time`
|
|
446
|
+
- :octicons-x-24: `format`
|
|
447
|
+
- :octicons-check-24: None
|
|
448
|
+
- `POST /session/:sessionId/element/:elementId/value`
|
|
449
|
+
- :octicons-x-24: `value`
|
|
450
|
+
- :octicons-check-24: `text`
|
|
451
|
+
- `POST /session/:sessionId/timeouts`
|
|
452
|
+
- :octicons-x-24: `type`, `ms`
|
|
453
|
+
- :octicons-check-24: `script`, `pageLoad`, `implicit`
|
|
454
|
+
- `POST /session/:sessionId/window`
|
|
455
|
+
- :octicons-x-24: `name`
|
|
456
|
+
- :octicons-check-24: `handle`
|
|
457
|
+
|
|
458
|
+
[^sim]: Supported in emulators/simulators only
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Appium Server Security
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
The Appium team makes every effort to ensure the security of the Appium server. This is especially
|
|
6
|
+
important when Appium is run in a multitenant environment, or when multiple users are running
|
|
7
|
+
sessions on the same Appium server. In general, you can only safely enable all Appium's features if
|
|
8
|
+
all the following are true:
|
|
9
|
+
|
|
10
|
+
- You're running your own Appium server locally or within a protected internal network
|
|
11
|
+
- You're not sharing it with any untrusted parties
|
|
12
|
+
- You don't expose Appium's port(s) to the wider internet
|
|
13
|
+
|
|
14
|
+
But because many Appium users might not be able to guarantee such a safe environment, the Appium
|
|
15
|
+
team puts many features behind a security protection mechanism which forces system admins (the
|
|
16
|
+
people that are in charge of starting the Appium server) to _explicitly opt-in_ to these features.
|
|
17
|
+
(Third-party driver and plugin authors can also hide behaviour behind security
|
|
18
|
+
flags.)
|
|
19
|
+
|
|
20
|
+
For security reasons, Appium client sessions can _not_ request feature enablement via capabilities;
|
|
21
|
+
this is the responsibility of the server admin who configures and launches the Appium server.
|
|
22
|
+
|
|
23
|
+
## Security Server Args
|
|
24
|
+
|
|
25
|
+
The [Server CLI](../reference/cli/server.md) doc outlines three relevant arguments which may be passed to
|
|
26
|
+
Appium when starting it from the command line:
|
|
27
|
+
|
|
28
|
+
| <div style="width:10em">Parameter</div> | Description |
|
|
29
|
+
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
30
|
+
| `--relaxed-security` | Turns on _all_ insecure features, except those blocked by `--deny-insecure` |
|
|
31
|
+
| `--allow-insecure` | Turns on _only_ specified features, except those blocked by `--deny-insecure`. Has no effect when used in combination with `--relaxed-security` |
|
|
32
|
+
| `--deny-insecure` | Explicitly turns _off_ specified features, overriding `--relaxed-security` and `--allow-insecure` |
|
|
33
|
+
|
|
34
|
+
All of the above arguments can also be specified in the [Appium Configuration file](./config.md).
|
|
35
|
+
|
|
36
|
+
Features passed to `--allow-insecure`/`--deny-insecure` must be specified as a comma-separated list,
|
|
37
|
+
and each feature in the list must additionally include a prefix, indicating the driver to which the
|
|
38
|
+
feature should apply. The prefix can be either the driver's `automationName`, or the wildcard (`*`)
|
|
39
|
+
symbol, if the feature should be applied to all drivers. The prefix and feature name are separated
|
|
40
|
+
using the colon character (`:`).
|
|
41
|
+
|
|
42
|
+
For example, `first:foo` refers to the `foo` feature for the `first` driver, whereas `*:bar` refers
|
|
43
|
+
to the `bar` feature for all drivers.
|
|
44
|
+
|
|
45
|
+
## Insecure Features
|
|
46
|
+
|
|
47
|
+
Each Appium driver is responsible for its own security, and can create its own feature names. Thus
|
|
48
|
+
you should read through the documentation for a particular driver to know which feature names it
|
|
49
|
+
might use. Here is an incomplete list of examples from some of Appium's official drivers:
|
|
50
|
+
|
|
51
|
+
| <div style="width:12em">Feature Name</div> | Description | Supported Extension(s) |
|
|
52
|
+
| ------------------------------------------ | --------------------------------------------------------------------------------------- | ---------------------------------------------- |
|
|
53
|
+
| `get_server_logs` | Allows retrieving of Appium server logs via the Webdriver log interface | IOS, XCUITest, Android, UiAutomator2, Espresso |
|
|
54
|
+
| `adb_shell` | Allows execution of arbitrary shell commands via ADB, using the `mobile: shell` command | Android, UiAutomator2, Espresso |
|
|
55
|
+
| `record_audio` | Allow recording of host machine audio inputs | XCUITest |
|
|
56
|
+
| `execute_driver_script` | Allows to send a request which has multiple Appium commands. | Execute Driver Plugin |
|
|
57
|
+
|
|
58
|
+
Some insecure features operate on the server level, and do not require a driver session. Enabling
|
|
59
|
+
these features requires using the wildcard prefix:
|
|
60
|
+
|
|
61
|
+
| <div style="width:12em">Feature Name</div> | Description |
|
|
62
|
+
| ------------------------------------------ | ------------------------------------------------------------------------------- |
|
|
63
|
+
| `session_discovery` | Allows retrieving the list of active server sessions via `GET /appium/sessions` |
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
Turn on the `foo` feature only for the `first` driver:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
appium --allow-insecure=first:foo
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Turn on the `foo` feature for all drivers:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
appium --allow-insecure=*:foo
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Turn on the `foo` feature for all drivers _except_ `first`:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
appium --allow-insecure=*:foo --deny-insecure=first:foo
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Turn on all features _except_ `foo` for all drivers:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
appium --relaxed-security --deny-insecure=*:foo
|
|
89
|
+
```
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide:
|
|
3
|
+
- toc
|
|
4
|
+
|
|
5
|
+
title: Session Settings
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
Appium has a set of extension APIs that allow you to adjust parameters for a given session during
|
|
9
|
+
the session itself. Called "Settings", these parameters are similar to [Capabilities](./caps.md),
|
|
10
|
+
but while Capabilities _cannot be adjusted_ once a session has started, Settings _can be adjusted any
|
|
11
|
+
number of times_ during the course of a session.
|
|
12
|
+
|
|
13
|
+
There are 3 important points to the concept of Settings:
|
|
14
|
+
|
|
15
|
+
- Settings are mutable; they can be changed during a session using the Settings API
|
|
16
|
+
- Settings are only relevant during the session in which they are set. They are typically reset for
|
|
17
|
+
each new session, though depending on the driver, some settings may persist between sessions
|
|
18
|
+
- Settings only adjust the way the Appium server behaves during test automation. They do not affect
|
|
19
|
+
the device or app under test
|
|
20
|
+
|
|
21
|
+
An example of a setting would be the `ignoreUnimportantViews` setting recognized by the UiAutomator2
|
|
22
|
+
driver. The driver can be instructed to ignore elements in the view hierarchy which it deems
|
|
23
|
+
irrelevant. Changing this setting to `true` can cause tests to run faster. But if later in the same
|
|
24
|
+
session you _want_ to access elements which would be ignored under this setting, you can always
|
|
25
|
+
change it back to `false`.
|
|
26
|
+
|
|
27
|
+
Settings are implemented via the following API endpoints:
|
|
28
|
+
|
|
29
|
+
| Command | <div style="width:18em">Method/Route</div> | Params | Description | Returns |
|
|
30
|
+
| ----------------- | ------------------------------------------ | ----------------------------------------------------- | ---------------------------------- | ----------------------------------------------------- |
|
|
31
|
+
| `Update Settings` | `POST /session/:id/appium/settings` | `settings` (`Record<string, any>`) | Update the provided setting values | `null` |
|
|
32
|
+
| `Get Settings` | `GET /session/:id/appium/settings` | | Return the current settings | `settings` (`Record<string, any>`) |
|
|
33
|
+
|
|
34
|
+
The `settings` object must be a set of keys and values, where the key is the setting name, and the
|
|
35
|
+
value is any documented valid value for that setting.
|
|
36
|
+
|
|
37
|
+
!!! info
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
Settings are driver-specific, so refer to your driver's documentation for a list of supported settings
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Initializing Settings via Capabilities
|
|
44
|
+
|
|
45
|
+
If you want to start an Appium session with a setting in a non-default state, you can do so by
|
|
46
|
+
including a capability of the form `appium:settings[<name>]` with the appropriate value. So to turn
|
|
47
|
+
on the `ignoreUnimportantViews` setting mentioned above from the very beginning of a session, you
|
|
48
|
+
would construct a set of capabilities that includes the following in its JSON representation:
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"appium:settings[ignoreUnimportantViews]": true
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Also, since Appium 2.1, there is a possibility to provide multiple settings in a single
|
|
57
|
+
`appium:settings` capability value:
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"appium:settings": {
|
|
62
|
+
"ignoreUnimportantViews": true,
|
|
63
|
+
"allowInvisibleElements": true
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Of course, initializing a setting via capabilities doesn't prevent you from changing it later on
|
|
69
|
+
via the Settings API. To learn more about how to use the Settings API in the context of your
|
|
70
|
+
specific client library, visit the documentation for that client.
|