@appium/mcp-documentation 1.0.3 → 1.0.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/CHANGELOG.md +17 -0
- package/package.json +4 -7
- package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
- package/src/resources/submodules/appium/.github/copilot-instructions.md +9 -0
- package/src/resources/submodules/appium/CHANGELOG.md +45 -0
- package/src/resources/submodules/appium/GOVERNANCE.md +189 -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 +1547 -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-development-partner.md +36 -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 +1002 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +523 -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 +106 -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 +271 -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 +178 -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 +87 -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 +736 -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 +246 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/insecure-features.md +24 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +78 -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 +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/caps.md +56 -0
- package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/index.md +23 -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 +69 -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-development-partner.md +34 -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 +1010 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +529 -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 +115 -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 +276 -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 +178 -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 +737 -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 +247 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/insecure-features.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +78 -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 +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/caps.md +56 -0
- package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/index.md +23 -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 +66 -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/overrides/assets/images/sponsor-logo-testmuai-dark.png +0 -0
- package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-testmuai-light.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-development-partner.md +34 -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 +1010 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +529 -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 +115 -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 +279 -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 +178 -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 +91 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +100 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +101 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +72 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +36 -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 +119 -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 +737 -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 +247 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +36 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/insecure-features.md +23 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +78 -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 +31 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/caps.md +56 -0
- package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/index.md +23 -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 +66 -0
- package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
- package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1244 -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 +764 -0
- package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
- package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +1038 -0
- package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
- package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +790 -0
- package/src/resources/submodules/appium/packages/driver-test-support/README.md +103 -0
- package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +256 -0
- package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +47 -0
- package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +671 -0
- package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +55 -0
- package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +603 -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 +780 -0
- package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
- package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +691 -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 +212 -0
- package/src/resources/submodules/appium/packages/logger/README.md +31 -0
- package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +446 -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 +610 -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 +209 -0
- package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
- package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +308 -0
- package/src/resources/submodules/appium/packages/schema/README.md +50 -0
- package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +157 -0
- package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
- package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +129 -0
- package/src/resources/submodules/appium/packages/strongbox/README.md +110 -0
- package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1147 -0
- package/src/resources/submodules/appium/packages/support/README.md +161 -0
- package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +147 -0
- package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
- package/src/resources/submodules/appium/packages/types/CHANGELOG.md +871 -0
- package/src/resources/submodules/appium/packages/types/README.md +21 -0
- package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +502 -0
- package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
- package/src/resources/submodules/appium/renovate/README.md +55 -0
- package/src/resources/submodules/appium-skills/.github/dependabot.yml +11 -0
- package/src/resources/submodules/appium-skills/.github/workflows/pr-title.yml +10 -0
- package/src/resources/submodules/appium-skills/AGENTS.md +214 -0
- package/src/resources/submodules/appium-skills/LICENSE +201 -0
- package/src/resources/submodules/appium-skills/README.md +33 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/SKILL.md +66 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/community-search.md +51 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-locators.md +34 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-session-startup.md +53 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-element-lookup.md +23 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-locators.md +16 -0
- package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-troubleshooting.md +52 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-android/SKILL.md +346 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-bundletool/SKILL.md +91 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-chromium/SKILL.md +260 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-espresso/SKILL.md +216 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-ffmpeg/SKILL.md +91 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-node/SKILL.md +128 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-uiautomator2/SKILL.md +225 -0
- package/src/resources/submodules/appium-skills/skills/environment-setup-xcuitest/SKILL.md +153 -0
- package/src/resources/submodules/appium-skills/skills/xcuitest-real-device-config/SKILL.md +488 -0
- package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1506 -0
- package/src/resources/submodules/appium-uiautomator2-driver/README.md +2253 -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/android-multiwindow.md +872 -0
- package/src/resources/submodules/appium-uiautomator2-driver/docs/architecture.md +34 -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/mjpeg.md +111 -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 +3373 -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 +95 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/device-setup.md +81 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/index.md +36 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/installation.md +38 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/check-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-new-project.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-single-page.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/no-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/project-prov-prof.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/set-up-bundle.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/untrusted-dev.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-bundle-id.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-config.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-fail.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-succeed.png +0 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/auto-config.md +54 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/basic-manual-config.md +40 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/full-manual-config.md +49 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/generic-device-config.md +75 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/index.md +117 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/system-requirements.md +131 -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/biometric-auth.md +29 -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/file-transfer.md +147 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +55 -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 +20 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/mjpeg.md +98 -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/remotexpc-tunnels-real-devices.md +148 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +147 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +177 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +246 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +137 -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 +192 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +164 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +468 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +157 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/env-vars.md +18 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2269 -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 +107 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +555 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +28 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +19 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +467 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/reference/xpath-extensions.md +167 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/element-lookup.md +202 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/index.md +204 -0
- package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/wda-slowness.md +206 -0
- package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
- package/src/resources/submodules.zip +0 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# AGENTS Guide for Appium Skills
|
|
2
|
+
|
|
3
|
+
This file defines how AI agents should execute the skills in this repository.
|
|
4
|
+
|
|
5
|
+
## Execution Rules
|
|
6
|
+
|
|
7
|
+
- Execute skills one at a time in dependency order.
|
|
8
|
+
- Run commands step-by-step; avoid very long chained command blocks.
|
|
9
|
+
- Re-run checks after each fix.
|
|
10
|
+
- Use Appium doctor required fixes as the pass/fail gate:
|
|
11
|
+
- Pass: `0 required fixes needed`
|
|
12
|
+
- Optional warnings are non-blocking.
|
|
13
|
+
- Ask before installing optional dependencies.
|
|
14
|
+
- Avoid `sudo` in setup unless the user explicitly requests it.
|
|
15
|
+
- Prefer user-space installs and local project fallbacks when permissions are restricted.
|
|
16
|
+
- Use global npm/Appium commands by default (`npm -g`, `appium`).
|
|
17
|
+
- Use local execution (`npx appium`) only when the user explicitly asks for a local mode.
|
|
18
|
+
- Use `environment-setup-ffmpeg` as a shared optional dependency across drivers only when the user explicitly requests FFmpeg-related setup.
|
|
19
|
+
- Use `environment-setup-bundletool` as a shared optional dependency for UiAutomator2/Espresso only when the user explicitly requests bundletool setup.
|
|
20
|
+
- If output is incomplete/truncated, rerun only that step and capture logs.
|
|
21
|
+
|
|
22
|
+
## Recommended Skill Order
|
|
23
|
+
|
|
24
|
+
### Android + UiAutomator2
|
|
25
|
+
|
|
26
|
+
1. `environment-setup-node`
|
|
27
|
+
2. `environment-setup-android`
|
|
28
|
+
3. `environment-setup-uiautomator2`
|
|
29
|
+
|
|
30
|
+
### Android + Espresso
|
|
31
|
+
|
|
32
|
+
1. `environment-setup-node`
|
|
33
|
+
2. `environment-setup-android`
|
|
34
|
+
3. `environment-setup-espresso`
|
|
35
|
+
|
|
36
|
+
### Desktop Chromium Browsers (Chrome/Chromium/Edge)
|
|
37
|
+
|
|
38
|
+
1. `environment-setup-node`
|
|
39
|
+
2. `environment-setup-chromium`
|
|
40
|
+
|
|
41
|
+
### Shared Optional Skill
|
|
42
|
+
|
|
43
|
+
1. `environment-setup-ffmpeg` (run only when user explicitly requests FFmpeg-related capabilities)
|
|
44
|
+
2. `environment-setup-bundletool` (run only when user explicitly requests bundletool setup for UiAutomator2/Espresso)
|
|
45
|
+
|
|
46
|
+
### iOS + XCUITest (macOS only)
|
|
47
|
+
|
|
48
|
+
1. `environment-setup-node`
|
|
49
|
+
2. `environment-setup-xcuitest`
|
|
50
|
+
|
|
51
|
+
### iOS + XCUITest + Real Device (macOS only)
|
|
52
|
+
|
|
53
|
+
1. `environment-setup-node`
|
|
54
|
+
2. `environment-setup-xcuitest`
|
|
55
|
+
3. `xcuitest-real-device-config`
|
|
56
|
+
|
|
57
|
+
### Troubleshooting
|
|
58
|
+
|
|
59
|
+
1. If prerequisites or doctor checks are failing, run the relevant environment setup skill first.
|
|
60
|
+
2. Then run `appium-troubleshooting` in the failing driver path and load only the platform reference files that match the symptom.
|
|
61
|
+
|
|
62
|
+
## Completion Policy
|
|
63
|
+
|
|
64
|
+
A skill is complete only when its own completion criteria in `SKILL.md` are satisfied.
|
|
65
|
+
|
|
66
|
+
- Required doctor checks must pass.
|
|
67
|
+
- Optional doctor warnings do not block completion.
|
|
68
|
+
- Validate global command mode (`appium`) as the default completion path.
|
|
69
|
+
- Validate local command mode (`npx appium`) only when the user explicitly requests local execution.
|
|
70
|
+
|
|
71
|
+
## Prompt Templates
|
|
72
|
+
|
|
73
|
+
### Template: UiAutomator2
|
|
74
|
+
|
|
75
|
+
Use this as a starting prompt for an AI agent:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
Use this repository's skills to prepare Android + UiAutomator2.
|
|
79
|
+
Follow exactly, in order:
|
|
80
|
+
1) skills/environment-setup-node/SKILL.md
|
|
81
|
+
2) skills/environment-setup-android/SKILL.md
|
|
82
|
+
3) skills/environment-setup-uiautomator2/SKILL.md
|
|
83
|
+
|
|
84
|
+
Rules:
|
|
85
|
+
1) Start Appium server in Terminal A (`appium server`) and keep it running.
|
|
86
|
+
2) In Terminal B run `curl -s http://127.0.0.1:4723/status` and confirm success.
|
|
87
|
+
3) In Terminal A logs confirm `Available drivers:` contains `uiautomator2`.
|
|
88
|
+
4) In Terminal A stop Appium with `Ctrl+C`, then in Terminal B run `pgrep -fl "appium.*server" || echo "no appium server process"`.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Template: Espresso
|
|
92
|
+
|
|
93
|
+
Use this as a starting prompt for an AI agent:
|
|
94
|
+
|
|
95
|
+
```text
|
|
96
|
+
Use this repository's skills to prepare Android + Espresso.
|
|
97
|
+
Follow exactly, in order:
|
|
98
|
+
1) skills/environment-setup-node/SKILL.md
|
|
99
|
+
2) skills/environment-setup-android/SKILL.md
|
|
100
|
+
3) skills/environment-setup-espresso/SKILL.md
|
|
101
|
+
|
|
102
|
+
Rules:
|
|
103
|
+
- Run one step at a time.
|
|
104
|
+
- Treat `appium driver doctor espresso` required fixes as blocking.
|
|
105
|
+
- Optional warnings are non-blocking.
|
|
106
|
+
- Ask before installing optional dependencies.
|
|
107
|
+
- Do not use sudo unless I explicitly ask.
|
|
108
|
+
- Show command output for each step.
|
|
109
|
+
- Smoke test sequence:
|
|
110
|
+
1) Start Appium server in Terminal A (`appium server`) and keep it running.
|
|
111
|
+
2) In Terminal B run `curl -s http://127.0.0.1:4723/status` and confirm success.
|
|
112
|
+
3) In Terminal A logs confirm `Available drivers:` contains `espresso`.
|
|
113
|
+
4) In Terminal A stop Appium with `Ctrl+C`, then in Terminal B run `pgrep -fl "appium.*server" || echo "no appium server process"`.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
### Template: XCUITest
|
|
117
|
+
|
|
118
|
+
Use this as a starting prompt for an AI agent:
|
|
119
|
+
|
|
120
|
+
```text
|
|
121
|
+
Use this repository's skills to prepare macOS + XCUITest.
|
|
122
|
+
Follow exactly, in order:
|
|
123
|
+
1) skills/environment-setup-node/SKILL.md
|
|
124
|
+
2) skills/environment-setup-xcuitest/SKILL.md
|
|
125
|
+
|
|
126
|
+
Rules:
|
|
127
|
+
- Run one step at a time.
|
|
128
|
+
- Treat `appium driver doctor xcuitest` required fixes as blocking.
|
|
129
|
+
- Optional warnings are non-blocking.
|
|
130
|
+
- Ask before installing optional dependencies.
|
|
131
|
+
- Do not use sudo unless I explicitly ask.
|
|
132
|
+
- Show command output for each step.
|
|
133
|
+
- Smoke test sequence:
|
|
134
|
+
1) Start Appium server in Terminal A (`appium server`) and keep it running.
|
|
135
|
+
2) In Terminal B run `curl -s http://127.0.0.1:4723/status` and confirm success.
|
|
136
|
+
3) In Terminal A logs confirm `Available drivers:` contains `xcuitest`.
|
|
137
|
+
4) In Terminal A stop Appium with `Ctrl+C`, then in Terminal B run `pgrep -fl "appium.*server" || echo "no appium server process"`.
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Template: Chromium
|
|
141
|
+
|
|
142
|
+
Use this as a starting prompt for an AI agent:
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
Use this repository's skills to prepare Appium Chromium Driver for desktop browser automation.
|
|
146
|
+
Follow exactly, in order:
|
|
147
|
+
1) skills/environment-setup-node/SKILL.md
|
|
148
|
+
2) skills/environment-setup-chromium/SKILL.md
|
|
149
|
+
|
|
150
|
+
Rules:
|
|
151
|
+
- Run one step at a time.
|
|
152
|
+
- If `appium driver doctor chromium` is supported, treat required fixes as blocking.
|
|
153
|
+
- If doctor is not supported for `chromium`, use install/list/smoke checks as blocking gates.
|
|
154
|
+
- Optional warnings are non-blocking.
|
|
155
|
+
- Ask before installing optional dependencies.
|
|
156
|
+
- Do not use sudo unless I explicitly ask.
|
|
157
|
+
- Show command output for each step.
|
|
158
|
+
- Smoke test sequence:
|
|
159
|
+
1) Start Appium server in Terminal A (`appium server`) and keep it running.
|
|
160
|
+
2) In Terminal B run `curl -s http://127.0.0.1:4723/status` and confirm success.
|
|
161
|
+
3) In Terminal A logs confirm `Available drivers:` contains `chromium`.
|
|
162
|
+
4) In Terminal A stop Appium with `Ctrl+C`, then in Terminal B run `pgrep -fl "appium.*server" || echo "no appium server process"`.
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Template: XCUITest Real Device
|
|
166
|
+
|
|
167
|
+
Use this as a starting prompt for an AI agent:
|
|
168
|
+
|
|
169
|
+
```text
|
|
170
|
+
Use this repository's skills to prepare macOS + XCUITest for a real iOS/tvOS device.
|
|
171
|
+
Follow exactly, in order:
|
|
172
|
+
1) skills/environment-setup-node/SKILL.md
|
|
173
|
+
2) skills/environment-setup-xcuitest/SKILL.md
|
|
174
|
+
3) skills/xcuitest-real-device-config/SKILL.md
|
|
175
|
+
|
|
176
|
+
Rules:
|
|
177
|
+
- Run one step at a time.
|
|
178
|
+
- Complete environment-setup-xcuitest before starting xcuitest-real-device-config.
|
|
179
|
+
- Ask before installing optional 3rd-party device tools (ios-deploy, go-ios, pymobiledevice3, tidevice).
|
|
180
|
+
- Do not use sudo unless I explicitly ask.
|
|
181
|
+
- For steps requiring physical device interaction (Trust popup, Developer Mode toggle), pause and give the exact on-device instruction.
|
|
182
|
+
- Show command output for each step.
|
|
183
|
+
- When the WDA bundle is modified after signing (frameworks removed for iOS 17+), always re-sign with `codesign` before installing.
|
|
184
|
+
- Completion criteria:
|
|
185
|
+
1) Device is visible in `xcrun xctrace list devices`.
|
|
186
|
+
2) A provisioning profile approach has been fully applied (no code-signing errors on WDA install).
|
|
187
|
+
3) If any WDA bundle was modified, `codesign --verify --verbose` confirms a valid signature.
|
|
188
|
+
4) At least one WDA deployment method is confirmed working (default xcodebuild, preinstalled, prebuilt, or attach).
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Template: Troubleshooting
|
|
192
|
+
|
|
193
|
+
Use this as a starting prompt for an AI agent:
|
|
194
|
+
|
|
195
|
+
```text
|
|
196
|
+
Use this repository's troubleshooting skill to diagnose an Appium failure.
|
|
197
|
+
Follow this order:
|
|
198
|
+
1) If setup or doctor output is failing, run the matching environment setup skill first.
|
|
199
|
+
2) skills/appium-troubleshooting/SKILL.md
|
|
200
|
+
|
|
201
|
+
Rules:
|
|
202
|
+
- Run one step at a time.
|
|
203
|
+
- Keep troubleshooting scoped to the failing driver unless the user explicitly asks for cross-driver comparison.
|
|
204
|
+
- Re-run the smallest failing check after each fix.
|
|
205
|
+
- Treat Appium doctor required fixes as blocking.
|
|
206
|
+
- Prefer the official Appium references bundled with the troubleshooting skill before using discuss.appium.io.
|
|
207
|
+
- Use discuss.appium.io only when the official references do not explain the exact stack trace or symptom.
|
|
208
|
+
- Show command output for each step.
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Notes for Tooling Integrations
|
|
212
|
+
|
|
213
|
+
- If your agent platform supports repository-level instruction files, prioritize this file before running skill commands.
|
|
214
|
+
- If your platform does not auto-load this file, copy one prompt template above and provide it manually.
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
36
|
+
Object form, made available under the License, as indicated by a
|
|
37
|
+
copyright notice that is included in or attached to the work
|
|
38
|
+
(an example is provided in the Appendix below).
|
|
39
|
+
|
|
40
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
41
|
+
form, that is based on (or derived from) the Work and for which the
|
|
42
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
43
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
44
|
+
of this License, Derivative Works shall not include works that remain
|
|
45
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
46
|
+
the Work and Derivative Works thereof.
|
|
47
|
+
|
|
48
|
+
"Contribution" shall mean any work of authorship, including
|
|
49
|
+
the original version of the Work and any modifications or additions
|
|
50
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
51
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
52
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
53
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
54
|
+
means any form of electronic, verbal, or written communication sent
|
|
55
|
+
to the Licensor or its representatives, including but not limited to
|
|
56
|
+
communication on electronic mailing lists, source code control systems,
|
|
57
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
58
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
59
|
+
excluding communication that is conspicuously marked or otherwise
|
|
60
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
61
|
+
|
|
62
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
63
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
64
|
+
subsequently incorporated within the Work.
|
|
65
|
+
|
|
66
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
67
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
68
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
69
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
70
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
71
|
+
Work and such Derivative Works in Source or Object form.
|
|
72
|
+
|
|
73
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
74
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
75
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
76
|
+
(except as stated in this section) patent license to make, have made,
|
|
77
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
78
|
+
where such license applies only to those patent claims licensable
|
|
79
|
+
by such Contributor that are necessarily infringed by their
|
|
80
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
81
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
82
|
+
institute patent litigation against any entity (including a
|
|
83
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
84
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
85
|
+
or contributory patent infringement, then any patent licenses
|
|
86
|
+
granted to You under this License for that Work shall terminate
|
|
87
|
+
as of the date such litigation is filed.
|
|
88
|
+
|
|
89
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
90
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
91
|
+
modifications, and in Source or Object form, provided that You
|
|
92
|
+
meet the following conditions:
|
|
93
|
+
|
|
94
|
+
(a) You must give any other recipients of the Work or
|
|
95
|
+
Derivative Works a copy of this License; and
|
|
96
|
+
|
|
97
|
+
(b) You must cause any modified files to carry prominent notices
|
|
98
|
+
stating that You changed the files; and
|
|
99
|
+
|
|
100
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
101
|
+
that You distribute, all copyright, patent, trademark, and
|
|
102
|
+
attribution notices from the Source form of the Work,
|
|
103
|
+
excluding those notices that do not pertain to any part of
|
|
104
|
+
the Derivative Works; and
|
|
105
|
+
|
|
106
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
107
|
+
distribution, then any Derivative Works that You distribute must
|
|
108
|
+
include a readable copy of the attribution notices contained
|
|
109
|
+
within such NOTICE file, excluding those notices that do not
|
|
110
|
+
pertain to any part of the Derivative Works, in at least one
|
|
111
|
+
of the following places: within a NOTICE text file distributed
|
|
112
|
+
as part of the Derivative Works; within the Source form or
|
|
113
|
+
documentation, if provided along with the Derivative Works; or,
|
|
114
|
+
within a display generated by the Derivative Works, if and
|
|
115
|
+
wherever such third-party notices normally appear. The contents
|
|
116
|
+
of the NOTICE file are for informational purposes only and
|
|
117
|
+
do not modify the License. You may add Your own attribution
|
|
118
|
+
notices within Derivative Works that You distribute, alongside
|
|
119
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
120
|
+
that such additional attribution notices cannot be construed
|
|
121
|
+
as modifying the License.
|
|
122
|
+
|
|
123
|
+
You may add Your own copyright statement to Your modifications and
|
|
124
|
+
may provide additional or different license terms and conditions
|
|
125
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
126
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
127
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
128
|
+
the conditions stated in this License.
|
|
129
|
+
|
|
130
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
131
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
132
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
133
|
+
this License, without any additional terms or conditions.
|
|
134
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
135
|
+
the terms of any separate license agreement you may have executed
|
|
136
|
+
with Licensor regarding such Contributions.
|
|
137
|
+
|
|
138
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
139
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
140
|
+
except as required for reasonable and customary use in describing the
|
|
141
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
142
|
+
|
|
143
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
144
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
145
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
146
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
147
|
+
implied, including, without limitation, any warranties or conditions
|
|
148
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
149
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
150
|
+
appropriateness of using or redistributing the Work and assume any
|
|
151
|
+
risks associated with Your exercise of permissions under this License.
|
|
152
|
+
|
|
153
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
154
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
155
|
+
unless required by applicable law (such as deliberate and grossly
|
|
156
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
157
|
+
liable to You for damages, including any direct, indirect, special,
|
|
158
|
+
incidental, or consequential damages of any character arising as a
|
|
159
|
+
result of this License or out of the use or inability to use the
|
|
160
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
161
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
162
|
+
other commercial damages or losses), even if such Contributor
|
|
163
|
+
has been advised of the possibility of such damages.
|
|
164
|
+
|
|
165
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
166
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
167
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
168
|
+
or other liability obligations and/or rights consistent with this
|
|
169
|
+
License. However, in accepting such obligations, You may act only
|
|
170
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
171
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
172
|
+
defend, and hold each Contributor harmless for any liability
|
|
173
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
174
|
+
of your accepting any such warranty or additional liability.
|
|
175
|
+
|
|
176
|
+
END OF TERMS AND CONDITIONS
|
|
177
|
+
|
|
178
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
179
|
+
|
|
180
|
+
To apply the Apache License to your work, attach the following
|
|
181
|
+
boilerplate notice, with the fields enclosed by brackets "{}"
|
|
182
|
+
replaced with your own identifying information. (Don't include
|
|
183
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
184
|
+
comment syntax for the file format. We also recommend that a
|
|
185
|
+
file or class name and description of purpose be included on the
|
|
186
|
+
same "printed page" as the copyright notice for easier
|
|
187
|
+
identification within third-party archives.
|
|
188
|
+
|
|
189
|
+
Copyright OpenJS Foundation and other contributors, https://openjsf.org/
|
|
190
|
+
|
|
191
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
192
|
+
you may not use this file except in compliance with the License.
|
|
193
|
+
You may obtain a copy of the License at
|
|
194
|
+
|
|
195
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
196
|
+
|
|
197
|
+
Unless required by applicable law or agreed to in writing, software
|
|
198
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
199
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
200
|
+
See the License for the specific language governing permissions and
|
|
201
|
+
limitations under the License.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Appium Agent Skills
|
|
2
|
+
|
|
3
|
+
This repository contains AI Agent skills for helping with Appium automation, including environment setup, real-device configuration, and troubleshooting common failures.
|
|
4
|
+
|
|
5
|
+
## Available Skills
|
|
6
|
+
|
|
7
|
+
| Skill | Description |
|
|
8
|
+
|---|---|
|
|
9
|
+
| [environment-setup-node](skills/environment-setup-node/SKILL.md) | Prepares Node.js and npm environment |
|
|
10
|
+
| [environment-setup-android](skills/environment-setup-android/SKILL.md) | Prepares Android SDK, Java, and ADB prerequisites for Appium Android drivers |
|
|
11
|
+
| [environment-setup-ffmpeg](skills/environment-setup-ffmpeg/SKILL.md) | Optional shared FFmpeg setup for media-related capabilities across drivers |
|
|
12
|
+
| [environment-setup-bundletool](skills/environment-setup-bundletool/SKILL.md) | Optional shared bundletool.jar setup for UiAutomator2/Espresso app-bundle tooling |
|
|
13
|
+
| [environment-setup-uiautomator2](skills/environment-setup-uiautomator2/SKILL.md) | Prepares and validates an Android + UiAutomator2 Appium environment |
|
|
14
|
+
| [environment-setup-espresso](skills/environment-setup-espresso/SKILL.md) | Prepares and validates an Android + Espresso Appium environment |
|
|
15
|
+
| [environment-setup-chromium](skills/environment-setup-chromium/SKILL.md) | Prepares and validates an Appium Chromium Driver environment for desktop Chromium-based browsers |
|
|
16
|
+
| [environment-setup-xcuitest](skills/environment-setup-xcuitest/SKILL.md) | Prepares and validates a macOS + XCUITest Appium environment |
|
|
17
|
+
| [appium-troubleshooting](skills/appium-troubleshooting/SKILL.md) | Troubleshoots UiAutomator2 or XCUITest failures with a driver-scoped workflow that starts from the failing symptom and re-checks the smallest reproduction after each fix |
|
|
18
|
+
| [xcuitest-real-device-config](skills/xcuitest-real-device-config/SKILL.md) | Prepare a real iOS/tvOS device for Appium XCUITest automation |
|
|
19
|
+
|
|
20
|
+
## Reliable Execution Notes
|
|
21
|
+
|
|
22
|
+
- Run skill commands step-by-step rather than as one very long chained command.
|
|
23
|
+
- For long-running checks, prefer an isolated background terminal and capture output after completion.
|
|
24
|
+
- If output appears incomplete, rerun only the affected step and collect logs from that step.
|
|
25
|
+
- Treat Appium doctor as the source of truth for pass/fail (`0 required fixes needed`).
|
|
26
|
+
- For FFmpeg-dependent capabilities, run the optional shared skill `environment-setup-ffmpeg` only when explicitly requested.
|
|
27
|
+
- For bundletool-dependent capabilities, run the optional shared skill `environment-setup-bundletool` only when explicitly requested.
|
|
28
|
+
- For startup, WDA, or locator failures after setup is complete, use `appium-troubleshooting` in a single driver path and follow the checks documented in that skill.
|
|
29
|
+
|
|
30
|
+
## Agent Instructions
|
|
31
|
+
|
|
32
|
+
- See [AGENTS.md](AGENTS.md) for strict execution rules and copy-paste prompt templates.
|
|
33
|
+
- Use the template matching your target (`uiautomator2`, `espresso`, `chromium`, `xcuitest`, `xcuitest real device`, or `troubleshooting`) and run skills in the documented order.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "appium-troubleshooting"
|
|
3
|
+
description: "Diagnose common Appium failures with a driver-scoped flow for UiAutomator2 or XCUITest, covering startup, driver readiness, WebDriverAgent, and element lookup issues"
|
|
4
|
+
metadata:
|
|
5
|
+
last_modified: "Thu, 19 Mar 2026 12:00:00 GMT"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
# appium-troubleshooting
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
Help the agent narrow a single-driver Appium failure into a small set of common buckets, apply the smallest plausible fix, and re-run the failing check until the root cause is confirmed or clearly handed back to the user.
|
|
12
|
+
|
|
13
|
+
## Decision Logic
|
|
14
|
+
- Identify the active automation driver first (`uiautomator2` or `xcuitest`). If unknown, stop and ask for the failing session capabilities/log line that names the driver.
|
|
15
|
+
- If the failure is an environment or driver-install problem (`node`, `npm`, `appium`, Java, Android SDK, `Xcode`, doctor failures): run the matching setup skill for the selected driver first.
|
|
16
|
+
- UiAutomator2 path only:
|
|
17
|
+
- session startup, wrong activity, early drop, or `socket hang up`: read [references/uiautomator2-session-startup.md](references/uiautomator2-session-startup.md).
|
|
18
|
+
- locator issues: read [references/uiautomator2-locators.md](references/uiautomator2-locators.md).
|
|
19
|
+
- XCUITest path only:
|
|
20
|
+
- WebDriverAgent startup/install/reachability, app install/launch, device/simulator state: read [references/xcuitest-troubleshooting.md](references/xcuitest-troubleshooting.md).
|
|
21
|
+
- element lookup or locator issues: read [references/xcuitest-element-lookup.md](references/xcuitest-element-lookup.md) and [references/xcuitest-locators.md](references/xcuitest-locators.md).
|
|
22
|
+
- If the official docs do not explain the exact stack trace or symptom, use [references/community-search.md](references/community-search.md) as a fallback workflow.
|
|
23
|
+
|
|
24
|
+
## Instructions
|
|
25
|
+
1. **Capture the failing command and lock the driver scope**
|
|
26
|
+
Record the exact error text, platform, automation driver, and relevant capabilities before changing anything. If the driver is still unclear, ask for one of these before continuing:
|
|
27
|
+
- the desired capabilities block containing `platformName` and `appium:automationName`
|
|
28
|
+
- the Appium server log lines from `POST /session` through the first real error after `createSession`
|
|
29
|
+
If the client hides capabilities, rerun one failing session with Appium server logs enabled and capture that window before troubleshooting further.
|
|
30
|
+
|
|
31
|
+
2. **Run baseline checks only when the error message alone is not enough**
|
|
32
|
+
If the error text already points to a known issue, open the matching driver-specific official reference first and confirm the closest symptom before changing anything. Then collect what is needed:
|
|
33
|
+
- `appium -v` and `appium driver list --installed --json` (fallback to `appium driver list --installed` if `--json` is unsupported) — to confirm driver presence and version.
|
|
34
|
+
- UiAutomator2: `adb devices -l` and `appium driver doctor uiautomator2` — only if the error suggests a device connectivity or prerequisite problem.
|
|
35
|
+
- XCUITest: `xcodebuild -version` and `appium driver doctor xcuitest` — only if the error suggests a build, signing, or toolchain problem.
|
|
36
|
+
If any doctor or prerequisite check fails, switch to the matching setup skill before deeper troubleshooting. Use `references/community-search.md` only after the relevant official reference does not explain the exact stack trace or symptom.
|
|
37
|
+
|
|
38
|
+
3. **Open only the references that match the selected driver and symptom**
|
|
39
|
+
Do not load both driver branches in one run. Start with the most direct reference for the observed symptom and only expand if that file does not explain the behavior.
|
|
40
|
+
|
|
41
|
+
4. **Apply one targeted change, then re-run the smallest failing check**
|
|
42
|
+
Prefer narrow fixes such as capability corrections, driver cleanup, device reset, or locator updates before broader environment churn. Re-run the doctor command for prerequisite issues, the failing session launch for startup issues, or the failing locator lookup for element issues.
|
|
43
|
+
|
|
44
|
+
5. **Use official docs first, community second**
|
|
45
|
+
Official references for this skill:
|
|
46
|
+
- `https://appium.io/docs/en/latest/`
|
|
47
|
+
- `https://github.com/appium/appium-uiautomator2-driver`
|
|
48
|
+
- `https://appium.github.io/appium-xcuitest-driver/latest/`
|
|
49
|
+
- `https://github.com/appium/appium-xcuitest-driver`
|
|
50
|
+
Use `discuss.appium.io` only after the official references are exhausted, searching with exact error text plus driver name and platform version.
|
|
51
|
+
|
|
52
|
+
6. **Report the outcome with command evidence**
|
|
53
|
+
Include the baseline checks you ran, the change you made, and the smallest reproduction or check you re-ran to confirm the result.
|
|
54
|
+
|
|
55
|
+
## Completion Criteria
|
|
56
|
+
Mark troubleshooting complete only when one of these is true:
|
|
57
|
+
- the failing check passes after a verified fix, or
|
|
58
|
+
- the exact blocker is isolated to something the user must do manually (for example signing, device trust, app build defects), with the relevant command output and next action captured
|
|
59
|
+
|
|
60
|
+
## Constraints
|
|
61
|
+
- Run commands one step at a time and re-run checks after each fix.
|
|
62
|
+
- Treat Appium doctor output `0 required fixes needed` as the pass/fail gate; optional warnings are non-blocking.
|
|
63
|
+
- Use global `appium` command mode by default unless the user explicitly asks for local `npx appium`.
|
|
64
|
+
- Prefer the official Appium driver docs referenced by this skill before using community answers.
|
|
65
|
+
- Keep troubleshooting scoped to one driver path (`uiautomator2` or `xcuitest`) per run unless the user explicitly asks for cross-driver comparison.
|
|
66
|
+
- Do not claim success from a theory alone; always tie the conclusion to a reproduced symptom or a passing re-check.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Community Search Fallback
|
|
2
|
+
|
|
3
|
+
## Source
|
|
4
|
+
- `https://discuss.appium.io/`
|
|
5
|
+
|
|
6
|
+
## Official-First Rule
|
|
7
|
+
Use community search only after checking the matching official Appium reference first:
|
|
8
|
+
|
|
9
|
+
- UiAutomator2 startup: `https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/activity-startup.md`
|
|
10
|
+
- UiAutomator2 locators: `https://github.com/appium/appium-uiautomator2-driver?tab=readme-ov-file#element-location`
|
|
11
|
+
- XCUITest element lookup: `https://appium.github.io/appium-xcuitest-driver/latest/guides/elements-lookup-troubleshooting/`
|
|
12
|
+
- XCUITest locators: `https://appium.github.io/appium-xcuitest-driver/latest/reference/locator-strategies/`
|
|
13
|
+
- XCUITest general failures: `https://appium.github.io/appium-xcuitest-driver/latest/guides/troubleshooting/`
|
|
14
|
+
|
|
15
|
+
## Search Pattern
|
|
16
|
+
- Search the exact error string in quotes.
|
|
17
|
+
- Add the driver name: `uiautomator2` or `xcuitest`.
|
|
18
|
+
- Add the platform version and whether the target is a real device or simulator/emulator.
|
|
19
|
+
- Add the capability name if the issue appears right after changing one capability.
|
|
20
|
+
|
|
21
|
+
Example queries:
|
|
22
|
+
- `"socket hang up" uiautomator2 Android 14 emulator`
|
|
23
|
+
- `"Activity never started" appWaitActivity uiautomator2`
|
|
24
|
+
- `"WebDriverAgent" xcuitest iOS 18 real device`
|
|
25
|
+
- `"No matches found for Identity Binding" xcuitest`
|
|
26
|
+
|
|
27
|
+
## Offline Triage Before Searching
|
|
28
|
+
|
|
29
|
+
Use one of these recurring cases to choose a search query and one local verification step. Keep the detailed remediation in the official references whenever possible.
|
|
30
|
+
|
|
31
|
+
| Case | Search Query Seed | Verify First |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| UiAutomator2 wrong startup screen or `Activity never started` | `"Activity never started" appWaitActivity uiautomator2` | confirm the focused activity via `adb shell dumpsys activity activities` |
|
|
34
|
+
| UiAutomator2 early session drop or `socket hang up` | `"socket hang up" uiautomator2 <android-version> <device-type>` | capture `adb logcat -d` and retry one clean session |
|
|
35
|
+
| UiAutomator2 WebView or Chromedriver mismatch | `"chromedriver" uiautomator2 webview` | confirm the WebView/browser version on the device before changing Chromedriver settings |
|
|
36
|
+
| XCUITest WDA build or signing failure | `"WebDriverAgent" "xcodebuild" failed xcuitest` | run `appium driver doctor xcuitest` and verify the signing setup |
|
|
37
|
+
| XCUITest WDA timeout or proxy failure | `"Could not proxy command to remote server" xcuitest` | capture fresh Appium logs and confirm WDA reachability |
|
|
38
|
+
| XCUITest source tree incomplete or element missing | `"elements not visible in source" xcuitest inspector` | collect a fresh source snapshot and verify accessibility exposure or active context |
|
|
39
|
+
|
|
40
|
+
## How To Filter Results
|
|
41
|
+
- Prefer threads that mention the same Appium major version and the same driver.
|
|
42
|
+
- Prefer posts that include logs or cite official Appium docs.
|
|
43
|
+
- Treat advice that suggests broad resets or unrelated capability changes as low confidence until you can verify it locally.
|
|
44
|
+
|
|
45
|
+
## Accept/Reject Rule For Forum Advice
|
|
46
|
+
- Accept only if the suggestion maps directly to your exact error text, same driver, and similar OS/device version.
|
|
47
|
+
- Reject or defer suggestions that require unrelated global resets before reproducing the same failure once.
|
|
48
|
+
- Always re-run the smallest failing check immediately after applying a proposed fix.
|
|
49
|
+
|
|
50
|
+
## Validation Rule
|
|
51
|
+
Never close the issue from a forum answer alone. Reproduce the proposed fix locally and tie it back to the original failing command or locator.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# UiAutomator2 Locators
|
|
2
|
+
|
|
3
|
+
## Official Reference
|
|
4
|
+
- `https://github.com/appium/appium-uiautomator2-driver?tab=readme-ov-file#element-location`
|
|
5
|
+
|
|
6
|
+
Use the driver docs for the full strategy list and performance tradeoffs. Keep this page for the extra triage that is easy to miss during debugging.
|
|
7
|
+
|
|
8
|
+
## Local Guidance
|
|
9
|
+
- Inspect the current page source before changing the selector. Verify whether the target is exposed as `content-desc`, resource id, text, or only as a visual label.
|
|
10
|
+
- If the app is hybrid, confirm the current context before debugging native locators.
|
|
11
|
+
- `-android uiautomator` is useful when ids or accessibility metadata are missing, but keep the query narrow and readable enough to debug from logs.
|
|
12
|
+
- Treat a working `xpath` as proof that the node exists, not as the preferred final fix. Replace it with a stronger native locator when the source exposes one.
|
|
13
|
+
- If the node is not present in source at all, this is usually an app-state, accessibility, or context problem rather than locator syntax.
|
|
14
|
+
|
|
15
|
+
## Hybrid App Checks
|
|
16
|
+
- If the element is inside a WebView, confirm the failing lookup is happening in a `WEBVIEW_*` context rather than `NATIVE_APP`.
|
|
17
|
+
- If the failure started after a Chrome or Android System WebView update, confirm the WebView/browser version before changing Chromedriver settings.
|
|
18
|
+
- Use the UiAutomator2 driver's Chromedriver compatibility guidance before community fallback. Prefer `appium:chromedriverExecutable`, `appium:chromedriverExecutableDir`, or automatic Chromedriver discovery over ad hoc workarounds.
|
|
19
|
+
- If the node exists only in the WebView DOM and not in native page source, switch context first and re-run the same single lookup before changing selectors.
|
|
20
|
+
|
|
21
|
+
## Hybrid App Checks With Commands
|
|
22
|
+
```bash
|
|
23
|
+
adb shell dumpsys package com.android.chrome | grep versionName
|
|
24
|
+
adb shell dumpsys package com.google.android.webview | grep versionName
|
|
25
|
+
adb shell dumpsys package com.android.webview | grep versionName
|
|
26
|
+
```
|
|
27
|
+
- Capture the current context list from the failing client run and confirm the target lookup is using the expected `WEBVIEW_*` context.
|
|
28
|
+
- Capture one source snapshot from `NATIVE_APP` and one from the target `WEBVIEW_*` context on the same screen. If the element appears only in the WebView DOM, switch context before changing selectors.
|
|
29
|
+
- If Chromedriver is the likely mismatch, prefer updating `appium:chromedriverExecutable`, `appium:chromedriverExecutableDir`, or the Chromedriver mapping instead of rewriting the locator first.
|
|
30
|
+
|
|
31
|
+
## Validation
|
|
32
|
+
- Re-run the smallest failing lookup.
|
|
33
|
+
- Compare the returned attributes against the actual source dump.
|
|
34
|
+
- If an `xpath` fix works but a stronger native locator is available, prefer the native locator before closing the issue.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# UiAutomator2 Session Startup
|
|
2
|
+
|
|
3
|
+
## Official References
|
|
4
|
+
- `https://github.com/appium/appium-uiautomator2-driver/blob/master/docs/activity-startup.md`
|
|
5
|
+
- `https://github.com/appium/appium-uiautomator2-driver?tab=readme-ov-file#troubleshooting`
|
|
6
|
+
|
|
7
|
+
## When To Read This
|
|
8
|
+
- `Activity never started`
|
|
9
|
+
- app launches the wrong screen or splash flow
|
|
10
|
+
- `appWaitActivity` or `appWaitPackage` mismatches
|
|
11
|
+
- `socket hang up`
|
|
12
|
+
- the UiAutomator2 server appears to die during startup
|
|
13
|
+
|
|
14
|
+
This file is a shortcut into the official driver docs, not a replacement for them.
|
|
15
|
+
|
|
16
|
+
## Local Triage
|
|
17
|
+
1. Verify the package and foreground activity from the device state, not from the manifest guess.
|
|
18
|
+
2. Align `appium:appPackage`, `appium:appActivity`, `appium:appWaitPackage`, and `appium:appWaitActivity` with the observed startup flow.
|
|
19
|
+
3. If the app legitimately passes through multiple transient activities, list those wait activities explicitly before increasing `appium:appWaitDuration`.
|
|
20
|
+
4. If logs show `socket hang up`, instrumentation failure, or helper-package errors, treat it as a UiAutomator2 helper or `adb` transport problem first.
|
|
21
|
+
5. If logs show install, ABI, permission, or signing failures, stop tuning startup capabilities and fix that underlying failure first.
|
|
22
|
+
|
|
23
|
+
## Log Clues To Separate Common Causes
|
|
24
|
+
- Activity mismatch is more likely if `adb shell dumpsys activity activities` shows a different foreground activity than the one implied by `appium:appActivity` or `appium:appWaitActivity`, or if Appium reports `Activity never started`.
|
|
25
|
+
- A UiAutomator2 server crash is more likely if `adb logcat -d` shows instrumentation failure, `io.appium.uiautomator2.server` package errors, or the Appium log says it cannot connect to the UiAutomator2 REST server.
|
|
26
|
+
- An `adb` transport drop is more likely if the device disappears from `adb devices -l`, the Appium log shows proxy/connectivity resets, or multiple commands fail immediately after `adb` communication errors.
|
|
27
|
+
|
|
28
|
+
## Minimal Checks
|
|
29
|
+
```bash
|
|
30
|
+
adb shell dumpsys window windows
|
|
31
|
+
adb shell dumpsys activity activities
|
|
32
|
+
adb shell pm list packages
|
|
33
|
+
adb logcat -d
|
|
34
|
+
grep -i "socket hang up\|uiautomator2\|instrumentation\|adb\|cannot connect" <appium-server-log-file>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## First Pass Order
|
|
38
|
+
1. Capture `dumpsys activity`, `adb logcat -d`, and the matching Appium server log lines from the failing session.
|
|
39
|
+
2. Decide whether the first failure signal is activity mismatch, UiAutomator2 server crash, or `adb` transport loss.
|
|
40
|
+
3. Apply only the fix for that first signal.
|
|
41
|
+
4. Re-run one fresh session start before changing anything else.
|
|
42
|
+
|
|
43
|
+
## One Clean Retry
|
|
44
|
+
If startup still dies early after the first log review, do one clean retry:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
adb kill-server
|
|
48
|
+
adb start-server
|
|
49
|
+
adb uninstall io.appium.uiautomator2.server
|
|
50
|
+
adb uninstall io.appium.uiautomator2.server.test
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Then re-run the same single session launch and compare fresh logs before changing anything else.
|