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,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- jlipps
|
|
4
|
+
date: 2024-06-06
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Announcing HeadSpin as Appium's Development Partner
|
|
8
|
+
|
|
9
|
+
Recently, we announced a new [sponsorship and contributor compensation program](https://appium.io/docs/en/latest/blog/2024/05/14/announcing-appiums-sponsorship-program/) for the Appium
|
|
10
|
+
project. As part of this program, we felt it was important to have a place to recognize those
|
|
11
|
+
companies who make an extremely valuable kind of contribution to the project: dedicated maintainer
|
|
12
|
+
time. Appium only survives because of the tireless efforts of the core maintainers, and some of us
|
|
13
|
+
are only able to do this work because it is donated on behalf of our day jobs. We're therefore very
|
|
14
|
+
excited to announce our first Development Partner: <a
|
|
15
|
+
href="https://www.headspin.io/solutions/appium-mobile-test-automation">HeadSpin</a>!
|
|
16
|
+
|
|
17
|
+
<!-- more -->
|
|
18
|
+
|
|
19
|
+
<div style="text-align:center;width:100%">
|
|
20
|
+
<a href="https://www.headspin.io/solutions/appium-mobile-test-automation"><img
|
|
21
|
+
src="/docs/en/latest/assets/images/sponsor-logo-headspin.png" style="width: 300px"/></a>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
HeadSpin is a real device performance and UX analysis cloud, with full support for Appium. When you
|
|
25
|
+
run your Appium tests on HeadSpin, you get access to comprehensive performance reports about your
|
|
26
|
+
app, including potential network, system resource, or user experience issues. HeadSpin supports
|
|
27
|
+
a variety of complex testing modes, including hooking up your own devices to the cloud, injecting
|
|
28
|
+
and receiving video and audio to/from devices, working with media (streaming) platforms, and more.
|
|
29
|
+
|
|
30
|
+
HeadSpin has been one of the Appium project's biggest supporters for a long time, and currently
|
|
31
|
+
employs two of Appium's core maintainers, donating a significant portion of their time towards the
|
|
32
|
+
development, maintenance, support, and leadership of open source Appium repos. HeadSpin has also
|
|
33
|
+
worked hard towards Appium's vision of a robust Appium ecosystem, contributing several
|
|
34
|
+
HeadSpin-maintained Appium drivers and plugins to the community:
|
|
35
|
+
|
|
36
|
+
- A [Roku TV driver](https://github.com/headspinio/appium-roku-driver)
|
|
37
|
+
- A [Tizen TV driver](https://github.com/headspinio/appium-tizen-tv-driver/)
|
|
38
|
+
- A [LG webOS TV driver](https://github.com/headspinio/appium-lg-webos-driver/)
|
|
39
|
+
- A [Unity game automation plugin](https://github.com/headspinio/appium-altunity-plugin)
|
|
40
|
+
|
|
41
|
+
These are all free and open source Appium components that HeadSpin has donated to the community
|
|
42
|
+
with the goal of fostering collaboration in these areas of media app automation.
|
|
43
|
+
|
|
44
|
+
Looking to the future, HeadSpin plans to continue supporting Appium in significant ways, both as
|
|
45
|
+
a Development Partner and a significant contributor to the Appium ecosystem. The Appium project is
|
|
46
|
+
deeply indebted to HeadSpin for all of its support, and is proud to take this moment to recognize
|
|
47
|
+
HeadSpin as our first official Development Partner!
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- jlipps
|
|
4
|
+
date: 2025-07-01
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Announcing LambdaTest as Appium Strategic Partner
|
|
8
|
+
|
|
9
|
+
After recently celebrating the 1-year anniversary of our Sponsorship Program and Compensation
|
|
10
|
+
Scheme,
|
|
11
|
+
the Appium project is very excited to announce that <a
|
|
12
|
+
href="https://lambdatest.com/?utm_source=appium.io&utm_medium=organic&utm_campaign=june_25&utm_term=sk&utm_content=webpage">LambdaTest</a>
|
|
13
|
+
is coming on board as one of our Strategic Partners!
|
|
14
|
+
|
|
15
|
+
<!-- more -->
|
|
16
|
+
|
|
17
|
+
<div style="text-align:center;width:100%"><a href="https://lambdatest.com/?utm_source=appium.io&utm_medium=organic&utm_campaign=june_25&utm_term=sk&utm_content=webpage">
|
|
18
|
+
<img src="/docs/en/latest/assets/images/sponsor-logo-lambdatest-dark.png#only-dark" width="300" />
|
|
19
|
+
<img src="/docs/en/latest/assets/images/sponsor-logo-lambdatest-light.png#only-light" width="300" />
|
|
20
|
+
</a>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
Having long been active in the Appium community and the automated testing industry, LambdaTest is
|
|
24
|
+
now significantly stepping up their investment into these areas. With the decision to come on board
|
|
25
|
+
as a Strategic Partner, LambdaTest will support the Appium project through financial contribution
|
|
26
|
+
as well as contribution of code and project maintenance. Obviously, without the generous support of
|
|
27
|
+
partners like LambdaTest, we would not be able to continue our contributor compensation scheme,
|
|
28
|
+
which has seen the release of a substantial amount of funds to Appium maintainers and contributors
|
|
29
|
+
over the last year. Thanks again to LambdaTest, and stay tuned for more collaboration updates
|
|
30
|
+
throughout the year!
|
|
31
|
+
|
|
32
|
+
**About LambdaTest**
|
|
33
|
+
|
|
34
|
+
<em>LambdaTest is a GenAI-powered Quality Engineering Platform that empowers teams to test
|
|
35
|
+
intelligently, smarter, and ship faster. Built for scale, it offers a full-stack testing cloud with
|
|
36
|
+
10K+ real mobile devices and 3,000+ browsers. With AI-native test management, MCP servers, and
|
|
37
|
+
agent-based automation, LambdaTest supports Selenium, Appium, Playwright, and all major frameworks.
|
|
38
|
+
AI Agents like HyperExecute and KaneAI bring the power of AI and cloud into your software testing
|
|
39
|
+
workflow, enabling seamless automation testing with 120+ integrations. LambdaTest Agents accelerate
|
|
40
|
+
your testing throughout the entire SDLC, from test planning and authoring to automation,
|
|
41
|
+
infrastructure, execution, RCA, and reporting.</em>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- jlipps
|
|
4
|
+
date: 2024-06-10
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Announcing Sauce Labs as Appium's Strategic Partner
|
|
8
|
+
|
|
9
|
+
The good news surrounding our new sponsorship and contributor compensation
|
|
10
|
+
program
|
|
11
|
+
just keeps coming! Effective immediately we are fortunate and excited to be able to welcome a new Strategic Partner to
|
|
12
|
+
the Appium project: <a href="https://saucelabs.com/resources/blog/appium-strategic-partner">Sauce Labs</a>!
|
|
13
|
+
|
|
14
|
+
<!-- more -->
|
|
15
|
+
|
|
16
|
+
<div style="text-align:center;width:100%">
|
|
17
|
+
<a href="https://saucelabs.com/resources/blog/appium-strategic-partner"><img src="/docs/en/latest/assets/images/sponsor-logo-sauce.png" style="width: 300px"/></a>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
Sauce Labs has a long history of support for the Appium project. In fact, Appium was initially
|
|
21
|
+
incubated at Sauce Labs under the direction of [@jlipps](https://github.com/jlipps), in the early
|
|
22
|
+
days of mobile automation. Sauce Labs always envisioned Appium as being a project for and by the
|
|
23
|
+
community, and cemented this perspective in 2016 with the donation of Appium to the JS Foundation
|
|
24
|
+
(now the [OpenJS Foundation](https://openjsf.org/)). To this day, developers associated with Sauce
|
|
25
|
+
Labs continue to help maintain various parts of the Appium project.
|
|
26
|
+
|
|
27
|
+
Now, Sauce Labs is making a further commitment to support Appium financially as a way to enable
|
|
28
|
+
our new contributor compensation program. We're very excited about this program as a vehicle for
|
|
29
|
+
getting more people involved in Appium's development and maintenance. With the help of Strategic
|
|
30
|
+
Partners like Sauce Labs, our project will be better able to meet the needs of our constantly
|
|
31
|
+
growing userbase, and attract new developers (like you?) to build the Appium ecosystem together.
|
|
32
|
+
Needless to say, we are extremely grateful for Sauce Labs's support!
|
|
33
|
+
|
|
34
|
+
**About Sauce Labs**
|
|
35
|
+
|
|
36
|
+
<em>Sauce Labs is the leader in continuous quality. Our Platform for Test helps organizations transform software testing from a chore to a competitive advantage. With decades of expertise and deep roots in the Selenium and Appium open source communities, high performing software teams use our platform to execute any testing workload across thousands of different devices, browsers, and operating systems—anywhere, any time, and at any scale. For more information, please visit [saucelabs.com](https://saucelabs.com).</em>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- jlipps
|
|
4
|
+
date: 2024-05-14
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Announcing Appium's Sponsorship Program
|
|
8
|
+
|
|
9
|
+
Over the last several months, the Appium team has been working on a sponsorship program that is
|
|
10
|
+
designed to help give back to Appium's contributors as well as to recognize important partner
|
|
11
|
+
individuals or companies in the industry. This program is now officially launching! Let's dive into
|
|
12
|
+
some of the details.
|
|
13
|
+
|
|
14
|
+
<!-- more -->
|
|
15
|
+
|
|
16
|
+
First of all, the details and fine print will always be available at Appium's Governance
|
|
17
|
+
document, which outlines how the
|
|
18
|
+
project is run, who makes project decisions, etc... This document will be kept up to date with the
|
|
19
|
+
latest details of the program, so that's the place to bookmark for reference!
|
|
20
|
+
|
|
21
|
+
As of now, Appium has opened up sponsorship opportunities via our OpenCollective
|
|
22
|
+
page. OpenCollective is a service which allows people to donate
|
|
23
|
+
to open source groups. We've defined a number of giving tiers for donations, within a very wide
|
|
24
|
+
range, and welcome any financial amount with gratitude! Based on the donation tier, sponsorship
|
|
25
|
+
comes with a variety of benefits, including recognition at different places in the Appium repo,
|
|
26
|
+
docs, and website. In addition to financial sponsorship, the project has decided to recognize
|
|
27
|
+
significant donations of project leadership and maintenance efforts from companies who have
|
|
28
|
+
invested heavily into Appium with their employees' time (we call these "Development Partners").
|
|
29
|
+
|
|
30
|
+
What will the project do with the funds raised through this sponsorship program? We aim to give it
|
|
31
|
+
all back to the Appium community! With the details again available at our [Governance document](https://github.com/appium/appium/blob/master/GOVERNANCE.md),
|
|
32
|
+
we have implemented a scheme very much inspired by our friends at [WebdriverIO](https://webdriver.io/blog/2024/02/15/new-contributor-stipend-program) (thanks WDIO
|
|
33
|
+
friends!) There are three groups of contributors to Appium that this scheme supports: (1) project
|
|
34
|
+
maintainers (those who devote consistent time to leading the project), (2) project contributors
|
|
35
|
+
(anyone in the wider community that contributes code or documentation), and (3) upstream projects
|
|
36
|
+
(other open source projects Appium relies heavily on to work well). Each month, the funds raised
|
|
37
|
+
via sponsorship will be distributed in different amounts to each of these groups. So if you
|
|
38
|
+
make a valuable contribution to Appium moving forward, you'll be eligible to get some cash as
|
|
39
|
+
a thank-you! (You'll need to have your own OpenCollective account in good standing to receive
|
|
40
|
+
funds).
|
|
41
|
+
|
|
42
|
+
We're very excited about this new program, and hope that it helps existing and new contributors to
|
|
43
|
+
feel even better about donating their time to making Appium better. And of course, none of this
|
|
44
|
+
would be possible without the amazing Partners and Sponsors we hope to attract! On that note, stay
|
|
45
|
+
tuned over the next few weeks as we unveil some of our initial program launch Partners! And if you
|
|
46
|
+
or your company would like to participate by supporting Appium financially, you are most welcome.
|
|
47
|
+
Just head over to our OpenCollective page and choose the tier that reflects your desired
|
|
48
|
+
contribution level.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- sai
|
|
4
|
+
- srini
|
|
5
|
+
- jlipps
|
|
6
|
+
date: 2025-08-07
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# 🚀 Appium 3
|
|
10
|
+
|
|
11
|
+
Appium 3 is here — and while it's not as massive a leap as Appium 2, it introduces a few essential
|
|
12
|
+
breaking changes that developers and QA engineers should be aware of.
|
|
13
|
+
|
|
14
|
+
<!-- more -->
|
|
15
|
+
|
|
16
|
+
The main idea behind Appium 3 is to clear out old cruft so that Appium can be leaner moving
|
|
17
|
+
forward, and rely on newer versions of software with better performance and security
|
|
18
|
+
characteristics. We're also getting rid of legacy behaviors and protocols that we deprecated as
|
|
19
|
+
part of Appium 2.
|
|
20
|
+
|
|
21
|
+
For you as a user, there's not much to worry about. The breaking changes are minimal:
|
|
22
|
+
|
|
23
|
+
- Node.js / NPM minimum version bump (to 20.19 / 10)
|
|
24
|
+
- Removal of certain deprecated endpoints
|
|
25
|
+
- Security feature flag prefix requirements (e.g. `adb_shell` to `uiautomator2:adb_shell`)
|
|
26
|
+
|
|
27
|
+
In terms of new features, we've been adding them incrementally rather than saving them up for
|
|
28
|
+
Appium 3. But with this release we are excited to share these new capabilities:
|
|
29
|
+
|
|
30
|
+
- `appium plugin install inspector` (Use Appium to host the Inspector rather than downloading it as a separate app)
|
|
31
|
+
- Clients can set the `X-Appium-Is-Sensitive` HTTP header on requests to direct the server to mask the data in the request in the logs, so that when you send a password into an input box, the password's actual value is not logged in plaintext. ([Learn more](../../developing/sensitive.md))
|
|
32
|
+
|
|
33
|
+
Of course, we have a full [Appium 3 migration guide](../../guides/migrating-2-to-3.md) to make sure
|
|
34
|
+
you know all the details and can deeply understand the consequences of upgrading to Appium 3 in
|
|
35
|
+
your environment.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
**Ready to make the leap?** Appium 3 is a great step forward in creating more secure, maintainable,
|
|
40
|
+
and W3C-compliant test automation pipelines. Happy testing!
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
authors:
|
|
3
|
+
- jlipps
|
|
4
|
+
date: 2024-03-07
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Hello World!
|
|
8
|
+
|
|
9
|
+
This is the first post in the Appium blog. There's not much to see here yet. We're creating this
|
|
10
|
+
space so we can make announcements or post other news, or information about events, that don't
|
|
11
|
+
really fit inside the documentation itself.
|
|
12
|
+
|
|
13
|
+
<!-- more -->
|
|
14
|
+
|
|
15
|
+
Stay tuned for more!
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide:
|
|
3
|
+
- navigation
|
|
4
|
+
|
|
5
|
+
title: Contributing to Appium
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The Appium project would not exist without the many contributions of code, documentation,
|
|
9
|
+
maintenance, and support from companies and volunteers. As such, we welcome contributions!
|
|
10
|
+
|
|
11
|
+
There are a lot of different ways to help the project - see below for everything you can do and the
|
|
12
|
+
processes to follow for each contribution method. Note that no matter how you contribute, your
|
|
13
|
+
participation is governed by our [Code of Conduct](https://github.com/appium/appium/blob/master/CONDUCT.md).
|
|
14
|
+
|
|
15
|
+
## Join the Discussion Forum
|
|
16
|
+
|
|
17
|
+
You don't need to know the internals of Appium to be able to contribute! If you have experience with
|
|
18
|
+
using Appium and feel like sharing your knowledge with others, consider helping out users on the
|
|
19
|
+
Appium forums at [discuss.appium.io](https://discuss.appium.io/). Hop on over and see if there are
|
|
20
|
+
any questions that you can answer.
|
|
21
|
+
|
|
22
|
+
## Report Bugs or Feature Requests
|
|
23
|
+
|
|
24
|
+
If you've encountered a bug, or have a cool feature in mind that you think Appium should support,
|
|
25
|
+
make sure to let us know at our [GitHub issue tracker](https://github.com/appium/appium/issues).
|
|
26
|
+
Please use the appropriate issue form template when creating your issue.
|
|
27
|
+
|
|
28
|
+
## Triage Issues
|
|
29
|
+
|
|
30
|
+
In addition to creating issues, you can also help us investigate already reported issues. All you
|
|
31
|
+
need is enough familiarity with Appium to try and reproduce bugs.
|
|
32
|
+
|
|
33
|
+
You can get started by checking our [GitHub issue tracker](https://github.com/appium/appium/issues)
|
|
34
|
+
for issues with labels such as `Needs Triage` or `Needs Info`, and leaving relevant comments:
|
|
35
|
+
|
|
36
|
+
- If the issue is a duplicate, drop a link to the original issue
|
|
37
|
+
- If the user has not provided enough information (such as Appium logs), ask them for more details
|
|
38
|
+
- If you can reproduce the problem on your own environment, provide all the information that you think
|
|
39
|
+
would help us track down the cause of the issue
|
|
40
|
+
|
|
41
|
+
For further information on triaging Appium issues (for any Appium project repository), please contact
|
|
42
|
+
any member of the [Technical Committee](https://github.com/appium/appium/blob/master/GOVERNANCE.md#the-technical-committee).
|
|
43
|
+
|
|
44
|
+
## Contribute Code
|
|
45
|
+
|
|
46
|
+
We are always open to pull requests for improving the Appium code or documentation!
|
|
47
|
+
|
|
48
|
+
!!! info
|
|
49
|
+
|
|
50
|
+
Developer information may not be kept up to date as frequently as user-facing information, or
|
|
51
|
+
it may be most relevant in its current form on the online repository, not in this published
|
|
52
|
+
version. Make sure to check the repo or discuss with maintainers. We would be glad to help
|
|
53
|
+
new contributors get started!
|
|
54
|
+
|
|
55
|
+
Start by cloning the repository (we recommend [forking](https://github.com/appium/appium/fork)
|
|
56
|
+
it first):
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
git clone https://github.com/appium/appium.git
|
|
60
|
+
cd appium
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
!!! info
|
|
64
|
+
|
|
65
|
+
If you are VS Code user, you can easily check out the project using [Runme](https://runme.dev/api/runme?repository=https%3A%2F%2Fgithub.com%2Fappium%2Fappium.git&fileToOpen=packages%2Fappium%2Fdocs%2Fen%2Fcontributing%2Findex.md).
|
|
66
|
+
|
|
67
|
+
Install dependencies:
|
|
68
|
+
|
|
69
|
+
```sh
|
|
70
|
+
npm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
From here on there are several things you can do.
|
|
74
|
+
|
|
75
|
+
Build the project:
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
npm run build
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Build the project and watch for changes:
|
|
82
|
+
|
|
83
|
+
```sh
|
|
84
|
+
npm run dev
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Start the locally built Appium server:
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
npm start
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Run various tests:
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
npm run lint
|
|
97
|
+
npm run test:unit
|
|
98
|
+
npm run test:types
|
|
99
|
+
npm run test:smoke
|
|
100
|
+
npm run test:e2e
|
|
101
|
+
npm run test:quick # unit and types
|
|
102
|
+
npm run test:slow # everything
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
You can also run tests for specific workspaces, e.g.:
|
|
106
|
+
|
|
107
|
+
```sh
|
|
108
|
+
export APPIUM_WORKSPACE=@appium/base-driver
|
|
109
|
+
npm run test:unit -w $APPIUM_WORKSPACE
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Documentation
|
|
113
|
+
|
|
114
|
+
The documentation for this project is [available in the project repository itself](https://github.com/appium/appium/tree/master/packages/appium/docs).
|
|
115
|
+
It is contained in Markdown files, which are built by our documentation system in the
|
|
116
|
+
`@appium/docutils` module. This module is based on [MkDocs](https://www.mkdocs.org/) and therefore
|
|
117
|
+
requires [Python](https://www.python.org/) to be installed on your system.
|
|
118
|
+
|
|
119
|
+
Install Python dependencies:
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
npm run install-docs-deps
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
After making your changes, you can run the documentation server in dev mode:
|
|
126
|
+
|
|
127
|
+
```sh
|
|
128
|
+
npm run dev:docs
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
You can then view the documentation at `http://127.0.0.1:8000/docs/en`.
|
|
132
|
+
|
|
133
|
+
## Translating Appium Documentation
|
|
134
|
+
|
|
135
|
+
The process of Appium documents localization into languages other than English is automated and is done via
|
|
136
|
+
the [Crowdin Translations Management System](https://crowdin.com). Do not edit any translated documents
|
|
137
|
+
directly in the GitHub Appium repository as they are going to be replaced with ones exported from Crowdin
|
|
138
|
+
during an upcoming sync.
|
|
139
|
+
|
|
140
|
+
### Where To Start
|
|
141
|
+
|
|
142
|
+
If you would like to contribute to the translation of Appium documents into your language then simply join
|
|
143
|
+
the translators group for the [Appium Documentation](https://crowdin.com/project/appium-documentation)
|
|
144
|
+
Crowdin project, and start translating documents there. If you see that your language is missing from
|
|
145
|
+
the list of available Crowdin languages then simply let us know by creating an
|
|
146
|
+
[issue](https://github.com/appium/appium/issues).
|
|
147
|
+
|
|
148
|
+
### Source Language Updates
|
|
149
|
+
|
|
150
|
+
Changes in documents are synchronized to Crowdin automatically via the `Update Crowdin English Docs` GitHub action.
|
|
151
|
+
This action is triggered automatically as soon as there are any changes under `packages/appium/docs/en/**.md`
|
|
152
|
+
or `packages/appium/docs/mkdocs-en.yml`.
|
|
153
|
+
|
|
154
|
+
### Fetching Translated Documents
|
|
155
|
+
|
|
156
|
+
In order to fetch translated files from Crowdin to the GitHub repository it is necessary to trigger
|
|
157
|
+
the `Sync Crowdin Docs Translations` action. This action should also automatically create a PR with
|
|
158
|
+
corresponding translated resources included.
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Building Documentation
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
Once you've [built a driver](./build-drivers.md) or [built a plugin](./build-plugins.md) for Appium,
|
|
6
|
+
you will hopefully want to document how that extension works for your users. The most basic way of
|
|
7
|
+
doing this is to write up a quick `README.md` and keep it in the root of your project's repository.
|
|
8
|
+
However, this can involve a lot of effort.
|
|
9
|
+
|
|
10
|
+
The Appium project has built tools to help with this, and we've packaged up these tools so our
|
|
11
|
+
ecosystem developers building drivers and plugins can _also_ use them. The best way to get going
|
|
12
|
+
with these tools is probably to look at an existing Appium driver repo to see how it's done, for
|
|
13
|
+
example the [XCUITest driver repo](https://github.com/appium/appium-xcuitest-driver). But this guide
|
|
14
|
+
will outline the basic approach.
|
|
15
|
+
|
|
16
|
+
### Conceptual architecture
|
|
17
|
+
|
|
18
|
+
Appium settled on [MkDocs](https://www.mkdocs.org/) as a Markdown-based documentation site
|
|
19
|
+
generator. It uses a Python toolchain (and not Node.js), but it turned out to be the best option
|
|
20
|
+
for our purposes. You can adjust this, but by default Appium's utilities also assume that you'll be
|
|
21
|
+
using the [mkdocs-material](https://squidfunk.github.io/mkdocs-material/) theme/extension for
|
|
22
|
+
MkDocs.
|
|
23
|
+
|
|
24
|
+
In order to make different versions of your docs available (one for each minor release of your
|
|
25
|
+
extension, typically), we also bundle [Mike](https://github.com/jimporter/mike).
|
|
26
|
+
|
|
27
|
+
From here, building a basic docs site is as easy as collecting your Markdown files together and
|
|
28
|
+
defining how you want them to be organized.
|
|
29
|
+
|
|
30
|
+
### Prerequisites
|
|
31
|
+
|
|
32
|
+
To take advantage of Appium's documentation utilities, you'll need to install:
|
|
33
|
+
|
|
34
|
+
- [Python v3+](https://www.python.org/downloads/)
|
|
35
|
+
- [pip](https://pip.pypa.io/en/stable/installation/) (this may be installed automatically with Python)
|
|
36
|
+
- The `@appium/docutils` package:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
npm install --save-dev @appium/docutils
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Initializing an Extension for Building Docs
|
|
43
|
+
|
|
44
|
+
To prepare your extension for generating documentation, run the following command:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx appium-docs init
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
This will:
|
|
51
|
+
|
|
52
|
+
1. Create a `tsconfig.json` if one does not already exist. This is necessary even if your extension
|
|
53
|
+
is not written in TypeScript.
|
|
54
|
+
2. Create a `mkdocs.yml` with the necessary configuration for MkDocs.
|
|
55
|
+
|
|
56
|
+
### Documenting Your Extension
|
|
57
|
+
|
|
58
|
+
At this point, you can begin documenting your extension. By default, MkDocs will look for Markdown
|
|
59
|
+
files in the `docs` directory. You can therefore create your Markdown documentation files, place
|
|
60
|
+
them in `docs`, and add links to these files in `mkdocs.yml`.
|
|
61
|
+
|
|
62
|
+
Refer to the [MkDocs documentation](https://www.mkdocs.org/user-guide/writing-your-docs/) for
|
|
63
|
+
information on how to organize and structure your documentation.
|
|
64
|
+
|
|
65
|
+
### Building the Docs
|
|
66
|
+
|
|
67
|
+
At this point, you can use the `appium-docs` CLI tool. Run this tool with no arguments to get the
|
|
68
|
+
full help output and see all the available subcommands and parameters. Here are a few usage
|
|
69
|
+
examples:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Generate reference and build the mkdocs site into the site dir
|
|
73
|
+
npx appium-docs build
|
|
74
|
+
|
|
75
|
+
# Same as build, but host the docs on a local dev server
|
|
76
|
+
# and watch for changes and rebuild when files change
|
|
77
|
+
npx appium-docs build --serve
|
|
78
|
+
|
|
79
|
+
# Build the docs and deploy them with mike versioning to the docs-site branch
|
|
80
|
+
# using the included commit message.
|
|
81
|
+
# This is particularly useful for pushing content to a GitHub pages branch!
|
|
82
|
+
npx appium-docs build \
|
|
83
|
+
--deploy \
|
|
84
|
+
-b docs-site \
|
|
85
|
+
-m 'docs: auto-build docs for appium-xcuitest-driver@%s'
|
|
86
|
+
```
|
package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Building Doctor Checks
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
The idea of Appium Doctor is to assist users with driver or plugin preconditions setup. Sometimes such
|
|
6
|
+
preconditions might be quite complicated and require non-trivial technical knowledge. Doctor checks,
|
|
7
|
+
which are vanilla Node.js class instances written by extension authors, simplify
|
|
8
|
+
the setup process by automating diagnostics and possible fixes for the found issues. These checks
|
|
9
|
+
might also be interactive to ensure better usage experience.
|
|
10
|
+
|
|
11
|
+
This tutorial is supposed to be used by plugin or driver authors that would like to help their users
|
|
12
|
+
to deal with complicated setup or configuration steps.
|
|
13
|
+
|
|
14
|
+
## Adding Doctor Checks
|
|
15
|
+
|
|
16
|
+
### Typing Requirements
|
|
17
|
+
|
|
18
|
+
The term `Doctor Check` literally describes a single javascript class instance that implements the
|
|
19
|
+
[IDoctorCheck interface](https://github.com/appium/appium/blob/master/packages/types/lib/doctor.ts).
|
|
20
|
+
The interface defines the following methods and properties:
|
|
21
|
+
|
|
22
|
+
- `diagnose(): Promise<DoctorCheckResult>`: Contains the code to diagnose a possible issue
|
|
23
|
+
- `fix(): Promise<string|null>`: Either fixes the actual problem if `hasAutofix()` returns true or
|
|
24
|
+
returns a string description for possible manual fixes. If this method throws an exception named
|
|
25
|
+
`FixSkippedError` and `hasAutofix()` returns true then the result of the method invocation
|
|
26
|
+
is going to be ignored.
|
|
27
|
+
- `hasAutofix(): boolean`: Whether calling `fix()` would resolve the found issue
|
|
28
|
+
- `isOptional(): boolean`: Whether the found issue can be ignored and is not a showstopper
|
|
29
|
+
- `log: AppiumLogger`: May be used for logging. This property may be assigned
|
|
30
|
+
by the instance itself or by the Appium server if it is left unassigned.
|
|
31
|
+
|
|
32
|
+
The `DoctorCheckResult` object returned by the `diagnose()` method must contain the following properties:
|
|
33
|
+
|
|
34
|
+
- `ok: boolean`: Whether the diagnosis found no issues
|
|
35
|
+
- `optional: boolean`: Whether the diagnosed issue is safe to ignore
|
|
36
|
+
- `message: string`: The text message describing the diagnostic result
|
|
37
|
+
|
|
38
|
+
### Manifest Requirements
|
|
39
|
+
|
|
40
|
+
A single extension may export multiple Doctor checks to Appium. In order for these checks to be properly
|
|
41
|
+
picked up by the server CLI after the corresponding extension is installed they might be listed in the
|
|
42
|
+
package .json manifest under the `appium.doctor.checks` section similar to the definition below:
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
// ...
|
|
46
|
+
"appium": {
|
|
47
|
+
"driverName": "fake",
|
|
48
|
+
"automationName": "Fake",
|
|
49
|
+
"platformNames": [
|
|
50
|
+
"Fake"
|
|
51
|
+
],
|
|
52
|
+
"mainClass": "FakeDriver",
|
|
53
|
+
"schema": "./build/lib/fake-driver-schema.js",
|
|
54
|
+
"scripts": {
|
|
55
|
+
"fake-error": "./build/lib/scripts/fake-error.js",
|
|
56
|
+
"fake-success": "./build/lib/scripts/fake-success.js",
|
|
57
|
+
"fake-stdin": "./build/lib/scripts/fake-stdin.js"
|
|
58
|
+
},
|
|
59
|
+
"doctor": {
|
|
60
|
+
"checks": [
|
|
61
|
+
"./doctor/fake1.js",
|
|
62
|
+
"./doctor/fake2.js"
|
|
63
|
+
// ...
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
// ...
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Also, it makes sense to include the [@appium/types](https://www.npmjs.com/package/@appium/types) import
|
|
71
|
+
to the package dev dependencies.
|
|
72
|
+
|
|
73
|
+
### Implementation Example
|
|
74
|
+
|
|
75
|
+
The below example is a "raw" Node.JS implementation that does not use any transpilation:
|
|
76
|
+
|
|
77
|
+
```js
|
|
78
|
+
const {fs, doctor} = require('@appium/support');
|
|
79
|
+
|
|
80
|
+
/** @satisfies {import('@appium/types').IDoctorCheck} */
|
|
81
|
+
class EnvVarAndPathCheck {
|
|
82
|
+
/**
|
|
83
|
+
* @param {string} varName
|
|
84
|
+
*/
|
|
85
|
+
constructor(varName) {
|
|
86
|
+
this.varName = varName;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
async diagnose() {
|
|
90
|
+
const varValue = process.env[this.varName];
|
|
91
|
+
if (typeof varValue === 'undefined') {
|
|
92
|
+
return doctor.nok(`${this.varName} environment variable is NOT set!`);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (await fs.exists(varValue)) {
|
|
96
|
+
return doctor.ok(`${this.varName} is set to: ${varValue}`);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return doctor.nok(`${this.varName} is set to '${varValue}' but this is NOT a valid path!`);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async fix() {
|
|
103
|
+
return (
|
|
104
|
+
`Make sure the environment variable ${this.varName} is properly configured for the Appium server process`
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
hasAutofix() {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
isOptional() {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
const androidHomeCheck = new EnvVarAndPathCheck('ANDROID_HOME');
|
|
118
|
+
|
|
119
|
+
module.exports = {androidHomeCheck};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @typedef {import('@appium/types').DoctorCheckResult} CheckResult
|
|
123
|
+
*/
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
This file could be saved as `doctor/android-home-check.js` and then added to the package.json manifest
|
|
127
|
+
as
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
// ...
|
|
131
|
+
"appium": {
|
|
132
|
+
// ...
|
|
133
|
+
"doctor": {
|
|
134
|
+
"checks": [
|
|
135
|
+
"./doctor/android-home-check.js",
|
|
136
|
+
]
|
|
137
|
+
}
|
|
138
|
+
// ...
|
|
139
|
+
},
|
|
140
|
+
// ...
|
|
141
|
+
```
|