@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,260 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "environment-setup-chromium"
|
|
3
|
+
description: "Set up and validate an Appium Chromium Driver environment"
|
|
4
|
+
metadata:
|
|
5
|
+
last_modified: "Thu, 09 Apr 2026 00:00:00 GMT"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
# appium-chromium-environment-setup
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
Prepares a reliable Appium Chromium Driver environment by validating Node.js/npm, ensuring Appium 3 compatibility, installing the Chromium driver, validating browser/runtime prerequisites, and running a smoke test that confirms driver availability and server readiness.
|
|
12
|
+
|
|
13
|
+
## Decision Logic
|
|
14
|
+
- If the host OS is not macOS, Linux, or Windows: stop and ask the user to use a supported OS.
|
|
15
|
+
- If current Node.js does not satisfy `engines.node` for both `appium` and `appium-chromium-driver`: install/upgrade Node.js to a compatible active LTS version.
|
|
16
|
+
- If current npm does not satisfy `appium-chromium-driver` `engines.npm`: upgrade npm before continuing.
|
|
17
|
+
- If Appium CLI is not installed: install `appium` globally.
|
|
18
|
+
- Use global npm/Appium commands by default (`npm install -g appium`, `appium ...`).
|
|
19
|
+
- Use local Appium commands (`npx appium ...`) only when the user explicitly requests local execution.
|
|
20
|
+
- If Appium major version is `< 3`: upgrade Appium to 3.x before installing or validating `chromium`.
|
|
21
|
+
- If the `chromium` driver is not installed: install it via Appium CLI.
|
|
22
|
+
- If install returns "already installed", ignore the error and continue (or run driver update).
|
|
23
|
+
- If `appium driver doctor chromium` is supported and reports required fixes: resolve each required item and re-run doctor.
|
|
24
|
+
- If doctor is not supported for `chromium` in the active Appium/driver version: use install/list/smoke checks as the completion gate.
|
|
25
|
+
- If no supported Chromium-based browser is available (`chrome`/`chromium`/`msedge`): pause and ask the user which browser to automate and install.
|
|
26
|
+
- If no supported Chromium-based browser is available and the user explicitly approves optional browser setup: install Chrome or Chromium with OS-native package tooling, then re-run browser availability checks.
|
|
27
|
+
- If running inside WSL and browser install is requested: prefer distro package-manager installation as root in WSL (for example via `wsl -u root`) rather than user-space `.deb` extraction, because runtime shared-library dependencies are otherwise easy to miss.
|
|
28
|
+
- If Chrome is present but fails to start with missing shared libraries (for example `libnspr4.so`): treat this as an incomplete Linux dependency install and fix with package-manager dependencies before continuing.
|
|
29
|
+
- If the user does not request a pinned chromedriver version and no chromedriver binary is present in the environment: run `appium driver run chromium install-chromedriver` before smoke validation.
|
|
30
|
+
- If the user explicitly targets Microsoft Edge: treat `msedgedriver` setup as a separate optional step, require a driver version matching the installed Edge build, and pass it through `appium:executable` because automatic chromedriver download does not cover Edge.
|
|
31
|
+
|
|
32
|
+
## Instructions
|
|
33
|
+
1. **Prepare Node.js + npm environment**
|
|
34
|
+
macOS/Linux:
|
|
35
|
+
```bash
|
|
36
|
+
node -v
|
|
37
|
+
npm -v
|
|
38
|
+
```
|
|
39
|
+
Windows PowerShell:
|
|
40
|
+
```powershell
|
|
41
|
+
node -v
|
|
42
|
+
npm -v
|
|
43
|
+
```
|
|
44
|
+
If `node` is missing, run `environment-setup-node` first (including Windows PowerShell profile bootstrap), then open a new terminal or run `. $PROFILE`, and re-run the commands.
|
|
45
|
+
|
|
46
|
+
2. **Install/upgrade Appium and Chromium driver**
|
|
47
|
+
```bash
|
|
48
|
+
npm install -g appium@latest
|
|
49
|
+
appium driver install chromium || appium driver update chromium
|
|
50
|
+
appium driver list --installed --json || appium driver list --installed
|
|
51
|
+
```
|
|
52
|
+
Prefer `--json` output for machine-readable verification. Confirm a `chromium` key is present; only fallback to plain-text output when `--json` is unsupported.
|
|
53
|
+
If the install command fails only because `chromium` is already installed, continue and do not stop preparation.
|
|
54
|
+
|
|
55
|
+
3. **Validate Appium command health and compatibility**
|
|
56
|
+
macOS/Linux:
|
|
57
|
+
```bash
|
|
58
|
+
appium -v
|
|
59
|
+
appium driver list --installed --json || appium driver list --installed
|
|
60
|
+
npm view appium engines --json
|
|
61
|
+
npm view appium-chromium-driver engines peerDependencies --json
|
|
62
|
+
```
|
|
63
|
+
Windows PowerShell:
|
|
64
|
+
```powershell
|
|
65
|
+
appium -v
|
|
66
|
+
appium driver list --installed --json; if ($LASTEXITCODE -ne 0) { appium driver list --installed }
|
|
67
|
+
npm view appium engines --json
|
|
68
|
+
npm view appium-chromium-driver engines peerDependencies --json
|
|
69
|
+
```
|
|
70
|
+
Verify Appium major version is `3` and that active Node/npm versions satisfy the reported ranges.
|
|
71
|
+
|
|
72
|
+
4. **Validate browser availability (Chrome/Chromium/Edge)**
|
|
73
|
+
macOS/Linux:
|
|
74
|
+
```bash
|
|
75
|
+
command -v google-chrome || true
|
|
76
|
+
command -v chromium || true
|
|
77
|
+
command -v chromium-browser || true
|
|
78
|
+
command -v msedge || true
|
|
79
|
+
```
|
|
80
|
+
Windows PowerShell:
|
|
81
|
+
```powershell
|
|
82
|
+
Get-Command chrome.exe -ErrorAction SilentlyContinue
|
|
83
|
+
Get-Command msedge.exe -ErrorAction SilentlyContinue
|
|
84
|
+
```
|
|
85
|
+
Confirm at least one Chromium-based browser is available and note the target browser in the result summary.
|
|
86
|
+
|
|
87
|
+
Optional browser setup (run only when the user explicitly requests it):
|
|
88
|
+
- macOS (Homebrew):
|
|
89
|
+
```bash
|
|
90
|
+
brew install --cask google-chrome
|
|
91
|
+
# or
|
|
92
|
+
brew install --cask chromium
|
|
93
|
+
# or
|
|
94
|
+
brew install --cask microsoft-edge
|
|
95
|
+
```
|
|
96
|
+
- Linux (Debian/Ubuntu examples):
|
|
97
|
+
```bash
|
|
98
|
+
sudo apt-get update
|
|
99
|
+
sudo apt-get install -y chromium-browser || sudo apt-get install -y chromium
|
|
100
|
+
# Microsoft Edge example
|
|
101
|
+
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
|
|
102
|
+
sudo install -o root -g root -m 644 microsoft.gpg /usr/share/keyrings/microsoft.gpg
|
|
103
|
+
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/edge stable main" | sudo tee /etc/apt/sources.list.d/microsoft-edge.list
|
|
104
|
+
sudo apt-get update
|
|
105
|
+
sudo apt-get install -y microsoft-edge-stable
|
|
106
|
+
```
|
|
107
|
+
- WSL from Windows host (Debian/Ubuntu examples, no interactive sudo prompt):
|
|
108
|
+
```powershell
|
|
109
|
+
wsl -u root -e bash -lc "apt-get update"
|
|
110
|
+
wsl -u root -e bash -lc "apt-get install -y libnspr4 libnss3 libxss1 libasound2t64 libatk-bridge2.0-0 libatk1.0-0 libcups2t64 libdrm2 libgbm1 libgtk-3-0 xdg-utils"
|
|
111
|
+
wsl -u root -e bash -lc "apt-get install -y google-chrome-stable || apt-get install -y chromium-browser || apt-get install -y chromium"
|
|
112
|
+
```
|
|
113
|
+
- Windows PowerShell (winget):
|
|
114
|
+
```powershell
|
|
115
|
+
winget install --id Google.Chrome --exact --accept-source-agreements --accept-package-agreements
|
|
116
|
+
# or
|
|
117
|
+
winget install --id Hibbiki.Chromium --exact --accept-source-agreements --accept-package-agreements
|
|
118
|
+
# or
|
|
119
|
+
winget install --id Microsoft.Edge --exact --accept-source-agreements --accept-package-agreements
|
|
120
|
+
```
|
|
121
|
+
After installation, re-run the browser availability checks in this step.
|
|
122
|
+
|
|
123
|
+
5. **Install chromedriver when missing (default) or pin it (on request)**
|
|
124
|
+
If the user does not request a specific chromedriver version, first check whether a chromedriver binary is available:
|
|
125
|
+
macOS/Linux:
|
|
126
|
+
```bash
|
|
127
|
+
command -v chromedriver || true
|
|
128
|
+
```
|
|
129
|
+
Windows PowerShell:
|
|
130
|
+
```powershell
|
|
131
|
+
Get-Command chromedriver.exe -ErrorAction SilentlyContinue
|
|
132
|
+
```
|
|
133
|
+
If no chromedriver binary is found, run:
|
|
134
|
+
```bash
|
|
135
|
+
appium driver run chromium install-chromedriver
|
|
136
|
+
```
|
|
137
|
+
Use version/directory pinning only when the user explicitly requests manual pinning or mirrored download flows.
|
|
138
|
+
macOS/Linux examples:
|
|
139
|
+
```bash
|
|
140
|
+
CHROMEDRIVER_VERSION=131.0.6778.3 appium driver run chromium install-chromedriver
|
|
141
|
+
CHROMEDRIVER_EXECUTABLE_DIR=/path/to/dir appium driver run chromium install-chromedriver
|
|
142
|
+
```
|
|
143
|
+
Windows PowerShell examples:
|
|
144
|
+
```powershell
|
|
145
|
+
$env:CHROMEDRIVER_VERSION='131.0.6778.3'; appium driver run chromium install-chromedriver; Remove-Item Env:\CHROMEDRIVER_VERSION
|
|
146
|
+
$env:CHROMEDRIVER_EXECUTABLE_DIR='C:\path\to\folder'; appium driver run chromium install-chromedriver; Remove-Item Env:\CHROMEDRIVER_EXECUTABLE_DIR
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Optional Edge WebDriver setup (run only when the user explicitly requests Microsoft Edge automation):
|
|
150
|
+
- Appium Chromium Driver does not autodownload `msedgedriver`.
|
|
151
|
+
- Download the Microsoft Edge WebDriver version matching the installed Edge build from the official Microsoft Edge WebDriver page:
|
|
152
|
+
`https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/`
|
|
153
|
+
- Verify the installed Edge version first:
|
|
154
|
+
macOS:
|
|
155
|
+
```bash
|
|
156
|
+
defaults read "/Applications/Microsoft Edge.app/Contents/Info" CFBundleShortVersionString
|
|
157
|
+
```
|
|
158
|
+
Linux:
|
|
159
|
+
```bash
|
|
160
|
+
microsoft-edge --version
|
|
161
|
+
```
|
|
162
|
+
Windows PowerShell:
|
|
163
|
+
```powershell
|
|
164
|
+
(Get-Item "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe").VersionInfo.ProductVersion
|
|
165
|
+
```
|
|
166
|
+
- After downloading and extracting `msedgedriver`, place it in a stable path and confirm it works:
|
|
167
|
+
macOS/Linux:
|
|
168
|
+
```bash
|
|
169
|
+
chmod +x /path/to/msedgedriver
|
|
170
|
+
/path/to/msedgedriver --version
|
|
171
|
+
```
|
|
172
|
+
Windows PowerShell:
|
|
173
|
+
```powershell
|
|
174
|
+
& "C:\path\to\msedgedriver.exe" --version
|
|
175
|
+
```
|
|
176
|
+
- For Edge sessions, pass the absolute driver path through capabilities:
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"platformName": "macOS",
|
|
180
|
+
"browserName": "MicrosoftEdge",
|
|
181
|
+
"appium:automationName": "Chromium",
|
|
182
|
+
"appium:executable": "/absolute/path/to/msedgedriver"
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
6. **Run Appium doctor for Chromium when supported**
|
|
187
|
+
```bash
|
|
188
|
+
appium driver doctor chromium
|
|
189
|
+
```
|
|
190
|
+
Use `0 required fixes needed` as the pass/fail gate when doctor is supported. Optional warnings are non-blocking. If required fixes remain, apply targeted fixes and re-run.
|
|
191
|
+
If command output indicates the driver does not expose doctor checks, mark doctor as `not-supported` and continue with install/list/smoke checks.
|
|
192
|
+
|
|
193
|
+
7. **Start Appium server smoke test**
|
|
194
|
+
```bash
|
|
195
|
+
appium server
|
|
196
|
+
```
|
|
197
|
+
Windows PowerShell recommended form (for deterministic log checks):
|
|
198
|
+
```powershell
|
|
199
|
+
appium server --log "$env:TEMP\appium-chromium-smoke.log" --log-level info
|
|
200
|
+
```
|
|
201
|
+
Keep this server process running in Terminal A.
|
|
202
|
+
|
|
203
|
+
In Terminal B, run:
|
|
204
|
+
```bash
|
|
205
|
+
curl -s http://127.0.0.1:4723/status
|
|
206
|
+
```
|
|
207
|
+
First confirm `/status` responds successfully.
|
|
208
|
+
|
|
209
|
+
Then confirm startup/readiness from server logs and ensure the `Available drivers:` block contains `chromium` (for example: `- chromium@<version> (automationName 'Chromium')`).
|
|
210
|
+
If startup banner logs are not available in your terminal integration, use this fallback verification path:
|
|
211
|
+
- `appium driver list --installed --json` includes `chromium`
|
|
212
|
+
- `/status` reports server readiness
|
|
213
|
+
|
|
214
|
+
After smoke validation, clean up the running Appium server:
|
|
215
|
+
- In Terminal A, stop the server with `Ctrl+C`.
|
|
216
|
+
- Verify no leftover Appium server process (Terminal B, macOS/Linux):
|
|
217
|
+
```bash
|
|
218
|
+
pgrep -fl "appium.*server" || echo "no appium server process"
|
|
219
|
+
```
|
|
220
|
+
If `pgrep` output appears to match only the check command itself, run a stricter verification:
|
|
221
|
+
```bash
|
|
222
|
+
if ps -C node -o pid=,args= | grep -E 'appium.*server' > /dev/null; then
|
|
223
|
+
ps -C node -o pid=,args= | grep -E 'appium.*server'
|
|
224
|
+
else
|
|
225
|
+
echo "no appium server process"
|
|
226
|
+
fi
|
|
227
|
+
```
|
|
228
|
+
- Verify no leftover Appium server process (Terminal B, Windows PowerShell):
|
|
229
|
+
```powershell
|
|
230
|
+
if (Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' }) {
|
|
231
|
+
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' } | Select-Object ProcessId, Name, CommandLine
|
|
232
|
+
} else {
|
|
233
|
+
"no appium server process"
|
|
234
|
+
}
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
8. **Agent completion criteria**
|
|
238
|
+
Mark the skill complete only when all are true:
|
|
239
|
+
- `appium driver list --installed --json` includes `chromium` (fallback to `appium driver list --installed` if `--json` is unsupported)
|
|
240
|
+
- `appium -v` succeeds and is Appium 3.x
|
|
241
|
+
- active Node/npm versions satisfy `appium` and `appium-chromium-driver` engines
|
|
242
|
+
- if supported, `appium driver doctor chromium` reports `0 required fixes needed` (optional warnings are allowed)
|
|
243
|
+
- if unsupported, result explicitly marks doctor status as `not-supported`
|
|
244
|
+
- if no chromedriver binary was present initially and no pinned version was requested, task result includes successful execution of `appium driver run chromium install-chromedriver`
|
|
245
|
+
- if Microsoft Edge automation was explicitly requested, task result includes installed Edge version, `msedgedriver --version` output, and the absolute path intended for `appium:executable`
|
|
246
|
+
- task result includes browser availability check and the selected browser target (`chrome`, `chromium`, or `msedge`)
|
|
247
|
+
- if optional browser setup was requested, task result includes browser install command(s) used and the post-install browser detection output
|
|
248
|
+
- `/status` check returns a successful status response (`curl` on macOS/Linux, `Invoke-RestMethod` retry loop recommended on Windows)
|
|
249
|
+
- Appium server logs show startup/readiness successfully after the status check, or readiness is confirmed by `/status` plus JSON driver listing that includes `chromium`
|
|
250
|
+
- if logs are available, `Available drivers:` includes a `chromium` entry
|
|
251
|
+
- Appium smoke-test server process is cleanly stopped after validation
|
|
252
|
+
|
|
253
|
+
## Constraints
|
|
254
|
+
- Use global npm/Appium commands as the default execution mode.
|
|
255
|
+
- Use `npx appium` only if the user explicitly asks for local execution.
|
|
256
|
+
- Treat optional doctor warnings as non-blocking.
|
|
257
|
+
- Ask before installing optional dependencies or browser packages.
|
|
258
|
+
- Prefer deterministic CLI checks over assumptions.
|
|
259
|
+
- If elevated privileges are required, pause and provide exact commands for the user to run.
|
|
260
|
+
- Do not claim success until compatibility checks and smoke-test checks are green.
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "environment-setup-espresso"
|
|
3
|
+
description: "Set up and validate an Espresso Appium environment on Android"
|
|
4
|
+
metadata:
|
|
5
|
+
last_modified: "Mon, 06 Apr 2026 00:00:00 GMT"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
# appium-espresso-environment-setup
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
Prepares a reliable Appium Espresso execution environment by installing Node.js and Appium prerequisites, configuring Android and Java dependencies, running Appium doctor checks, and iterating until doctor reports `0 required fixes needed`.
|
|
12
|
+
|
|
13
|
+
## Decision Logic
|
|
14
|
+
- If the host OS is not macOS, Linux, or Windows: stop and ask the user to use a supported OS.
|
|
15
|
+
- If current Node.js does not satisfy `engines.node` for both `appium` and `appium-espresso-driver`: install/upgrade Node.js to a compatible active LTS version.
|
|
16
|
+
- If Appium CLI is not installed: install `appium` globally.
|
|
17
|
+
- Use global npm/Appium commands by default (`npm install -g appium`, `appium ...`).
|
|
18
|
+
- Use local Appium commands (`npx appium ...`) only when the user explicitly requests local execution.
|
|
19
|
+
- If Android SDK prerequisites are missing (`adb`, emulator binary, SDK packages): run `environment-setup-android` first.
|
|
20
|
+
- If the user explicitly requests media features that require FFmpeg: run `environment-setup-ffmpeg` before final validation.
|
|
21
|
+
- If the user explicitly requests automatic bundletool setup: run `environment-setup-bundletool` before final validation.
|
|
22
|
+
- Always include host device/emulator inventory in the final skill result (connected devices, emulator version, and AVD list).
|
|
23
|
+
- If the `espresso` driver is not installed: install it via Appium CLI.
|
|
24
|
+
- If install returns "already installed", ignore the error and continue (or run driver update).
|
|
25
|
+
- If `appium driver doctor espresso` reports missing dependencies: resolve each missing item and re-run doctor.
|
|
26
|
+
|
|
27
|
+
## Instructions
|
|
28
|
+
1. **Prepare Node.js + npm environment**
|
|
29
|
+
macOS/Linux:
|
|
30
|
+
```bash
|
|
31
|
+
node -v
|
|
32
|
+
npm -v
|
|
33
|
+
```
|
|
34
|
+
Windows PowerShell:
|
|
35
|
+
```powershell
|
|
36
|
+
node -v
|
|
37
|
+
npm -v
|
|
38
|
+
```
|
|
39
|
+
If `node` is missing, run `environment-setup-node` first (including Windows PowerShell profile bootstrap), then open a new terminal or run `. $PROFILE`, and re-run the commands.
|
|
40
|
+
Windows PowerShell session bootstrap (recommended before any `appium` command in fresh/background terminals):
|
|
41
|
+
```powershell
|
|
42
|
+
$fnmDir = "$env:LOCALAPPDATA\Microsoft\WinGet\Packages\Schniz.fnm_Microsoft.Winget.Source_8wekyb3d8bbwe"
|
|
43
|
+
if (Test-Path $fnmDir) { $env:PATH = "$fnmDir;$env:PATH" }
|
|
44
|
+
fnm env --shell powershell | Invoke-Expression
|
|
45
|
+
fnm use lts-latest
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
2. **Install Appium npm command**
|
|
49
|
+
```bash
|
|
50
|
+
npm install -g appium
|
|
51
|
+
appium driver install espresso || appium driver update espresso
|
|
52
|
+
appium driver list --installed --json || appium driver list --installed
|
|
53
|
+
```
|
|
54
|
+
Prefer `--json` output for machine-readable verification. Confirm an `espresso` key is present; only fallback to plain-text output when `--json` is unsupported.
|
|
55
|
+
If the install command fails only because `espresso` is already installed, continue and do not stop preparation.
|
|
56
|
+
|
|
57
|
+
3. **Validate Appium npm commands and Node compatibility (after driver setup)**
|
|
58
|
+
macOS/Linux:
|
|
59
|
+
```bash
|
|
60
|
+
appium -v
|
|
61
|
+
appium driver list --installed --json || appium driver list --installed
|
|
62
|
+
npm view appium engines --json
|
|
63
|
+
npm view appium-espresso-driver engines --json
|
|
64
|
+
```
|
|
65
|
+
Windows PowerShell:
|
|
66
|
+
```powershell
|
|
67
|
+
appium -v
|
|
68
|
+
appium driver list --installed --json; if ($LASTEXITCODE -ne 0) { appium driver list --installed }
|
|
69
|
+
npm view appium engines --json
|
|
70
|
+
npm view appium-espresso-driver engines --json
|
|
71
|
+
```
|
|
72
|
+
If current Node.js does not satisfy the reported `engines.node` ranges, install/upgrade Node.js to a compatible active LTS version and re-run the setup checks.
|
|
73
|
+
|
|
74
|
+
4. **Run Android environment prerequisite skill**
|
|
75
|
+
Before Espresso doctor checks, execute `environment-setup-android` and do not continue until it passes completion criteria.
|
|
76
|
+
|
|
77
|
+
5. **Verify Android prerequisites from this skill context**
|
|
78
|
+
macOS/Linux:
|
|
79
|
+
```bash
|
|
80
|
+
command -v adb
|
|
81
|
+
adb version
|
|
82
|
+
echo "$ANDROID_HOME"
|
|
83
|
+
ls "$ANDROID_HOME/emulator/emulator"
|
|
84
|
+
test -x "$ANDROID_HOME/emulator/emulator" && echo "emulator binary: OK"
|
|
85
|
+
```
|
|
86
|
+
Windows PowerShell:
|
|
87
|
+
```powershell
|
|
88
|
+
Get-Command adb.exe -ErrorAction SilentlyContinue
|
|
89
|
+
adb.exe version
|
|
90
|
+
$env:ANDROID_HOME
|
|
91
|
+
Test-Path "$env:ANDROID_HOME\emulator\emulator.exe"
|
|
92
|
+
if (Test-Path "$env:ANDROID_HOME\emulator\emulator.exe") { "emulator binary: OK" }
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
6. **Report connected devices and emulator inventory in task result**
|
|
96
|
+
macOS/Linux:
|
|
97
|
+
```bash
|
|
98
|
+
adb devices -l
|
|
99
|
+
"$ANDROID_HOME/emulator/emulator" -version
|
|
100
|
+
"$ANDROID_HOME/emulator/emulator" -list-avds
|
|
101
|
+
```
|
|
102
|
+
Windows PowerShell:
|
|
103
|
+
```powershell
|
|
104
|
+
adb.exe devices -l
|
|
105
|
+
& "$env:ANDROID_HOME\emulator\emulator.exe" -version
|
|
106
|
+
& "$env:ANDROID_HOME\emulator\emulator.exe" -list-avds
|
|
107
|
+
```
|
|
108
|
+
In the result summary, explicitly state whether emulator preparation was skipped because either connected devices already existed or one/more AVDs already existed.
|
|
109
|
+
|
|
110
|
+
Optional shared dependency:
|
|
111
|
+
- If the user explicitly requests FFmpeg-related capability, run `environment-setup-ffmpeg` before continuing.
|
|
112
|
+
- If the user explicitly requests bundletool installation, run `environment-setup-bundletool` before continuing.
|
|
113
|
+
|
|
114
|
+
7. **Run Appium doctor for Espresso and fix in a loop**
|
|
115
|
+
```bash
|
|
116
|
+
appium driver doctor espresso
|
|
117
|
+
```
|
|
118
|
+
Use `0 required fixes needed` as the pass/fail gate. Optional warnings are non-blocking. If required fixes remain, apply targeted fixes and re-run.
|
|
119
|
+
For deterministic automation, parse the doctor output for that exact phrase instead of relying on visual formatting.
|
|
120
|
+
Bash gate example:
|
|
121
|
+
```bash
|
|
122
|
+
DOCTOR_OUT="$(appium driver doctor espresso 2>&1)"
|
|
123
|
+
echo "$DOCTOR_OUT" | grep -q "0 required fixes needed" || { echo "$DOCTOR_OUT"; exit 1; }
|
|
124
|
+
echo "$DOCTOR_OUT" | grep -E "0 required fixes needed|optional fix"
|
|
125
|
+
```
|
|
126
|
+
PowerShell gate example:
|
|
127
|
+
```powershell
|
|
128
|
+
$doctorOut = appium driver doctor espresso 2>&1 | Out-String
|
|
129
|
+
if ($doctorOut -notmatch '0 required fixes needed') { throw "Doctor required fixes remain" }
|
|
130
|
+
$doctorOut | Select-String '0 required fixes needed|optional fix'
|
|
131
|
+
```
|
|
132
|
+
AI-assisted fallback (only if exact phrase matching is inconclusive due output-format changes):
|
|
133
|
+
1. Re-run doctor once and capture full output (`appium driver doctor espresso 2>&1 | tee /tmp/appium-doctor-espresso.log`).
|
|
134
|
+
2. Ask an AI agent to classify required vs optional findings from the captured output.
|
|
135
|
+
3. Accept a pass only when the output clearly indicates zero required issues (for example: no required-fix section and no required-check failures).
|
|
136
|
+
4. If still ambiguous, mark status as `needs-manual-review` and do not mark the skill complete.
|
|
137
|
+
|
|
138
|
+
8. **Start Appium server smoke test**
|
|
139
|
+
```bash
|
|
140
|
+
appium server
|
|
141
|
+
```
|
|
142
|
+
Windows PowerShell recommended form (for deterministic log checks):
|
|
143
|
+
```powershell
|
|
144
|
+
appium server --log "$env:TEMP\appium-espresso-smoke.log" --log-level info
|
|
145
|
+
```
|
|
146
|
+
Keep this server process running in Terminal A.
|
|
147
|
+
In Terminal B, run:
|
|
148
|
+
```bash
|
|
149
|
+
curl -s http://127.0.0.1:4723/status
|
|
150
|
+
```
|
|
151
|
+
First confirm `/status` responds successfully.
|
|
152
|
+
Windows PowerShell reliable variant (recommended on Windows due to `curl` alias behavior):
|
|
153
|
+
```powershell
|
|
154
|
+
$ok = $false
|
|
155
|
+
for ($i = 0; $i -lt 20; $i++) {
|
|
156
|
+
try {
|
|
157
|
+
$resp = Invoke-RestMethod -Uri "http://127.0.0.1:4723/status" -Method Get -TimeoutSec 5
|
|
158
|
+
if ($resp.value.ready -eq $true) {
|
|
159
|
+
$ok = $true
|
|
160
|
+
$resp | ConvertTo-Json -Depth 5
|
|
161
|
+
break
|
|
162
|
+
}
|
|
163
|
+
} catch {
|
|
164
|
+
Start-Sleep -Milliseconds 500
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
if (-not $ok) { throw "Appium /status did not become ready in time" }
|
|
168
|
+
```
|
|
169
|
+
Then confirm startup/readiness from server logs and ensure the `Available drivers:` block contains `espresso` (for example: `- espresso@<version> (automationName 'Espresso')`).
|
|
170
|
+
If startup banner logs are not available in your terminal integration, use this fallback verification path:
|
|
171
|
+
- `appium driver list --installed --json` includes `espresso`
|
|
172
|
+
- `/status` reports server readiness
|
|
173
|
+
Windows PowerShell log verification example:
|
|
174
|
+
```powershell
|
|
175
|
+
Get-Content "$env:TEMP\appium-espresso-smoke.log" | Select-String "listener started|Available drivers:|espresso@"
|
|
176
|
+
```
|
|
177
|
+
After smoke validation, clean up the running Appium server:
|
|
178
|
+
- In Terminal A, stop the server with `Ctrl+C`.
|
|
179
|
+
- Verify no leftover Appium server process (Terminal B, macOS/Linux):
|
|
180
|
+
```bash
|
|
181
|
+
pgrep -fl "appium.*server" || echo "no appium server process"
|
|
182
|
+
```
|
|
183
|
+
- Verify no leftover Appium server process (Terminal B, Windows PowerShell):
|
|
184
|
+
```powershell
|
|
185
|
+
if (Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' }) {
|
|
186
|
+
Get-CimInstance Win32_Process | Where-Object { $_.CommandLine -match 'appium.*server' } | Select-Object ProcessId, Name, CommandLine
|
|
187
|
+
} else {
|
|
188
|
+
"no appium server process"
|
|
189
|
+
}
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
9. **Agent completion criteria**
|
|
193
|
+
Mark the skill complete only when all are true:
|
|
194
|
+
- `appium driver list --installed --json` includes `espresso` (fallback to `appium driver list --installed` if `--json` is unsupported)
|
|
195
|
+
- `appium -v` succeeds
|
|
196
|
+
- `appium driver doctor espresso` reports `0 required fixes needed` (optional warnings are allowed)
|
|
197
|
+
- task result includes the doctor summary line with required/optional fix counts
|
|
198
|
+
- `environment-setup-android` completion criteria are satisfied
|
|
199
|
+
- task result includes connected-device output (`adb devices -l`) and emulator inventory (`emulator -version`, `emulator -list-avds`)
|
|
200
|
+
- task result explicitly states whether emulator preparation was skipped (and why)
|
|
201
|
+
- `/status` check returns a successful status response (`curl` on macOS/Linux, `Invoke-RestMethod` retry loop recommended on Windows)
|
|
202
|
+
- Appium server logs show startup/readiness successfully after the status check, or (if banner logs are unavailable) readiness is confirmed by `/status` plus JSON driver listing that includes `espresso`
|
|
203
|
+
- If logs are available, `Available drivers:` includes an `espresso` entry
|
|
204
|
+
- Appium smoke-test server process is cleanly stopped after validation
|
|
205
|
+
|
|
206
|
+
## Constraints
|
|
207
|
+
- Always run `appium driver doctor espresso` after each environment change.
|
|
208
|
+
- Use global npm/Appium commands as the default execution mode.
|
|
209
|
+
- Use `npx appium` only if the user explicitly asks for local execution.
|
|
210
|
+
- Do not skip Android prerequisite validation; rely on `environment-setup-android` for source-of-truth checks.
|
|
211
|
+
- Use shell-appropriate commands (`bash` for macOS/Linux, PowerShell/cmd for Windows).
|
|
212
|
+
- Treat optional doctor warnings as non-blocking.
|
|
213
|
+
- Ask the user before installing optional dependencies, and install them only when the user explicitly needs that capability.
|
|
214
|
+
- Prefer deterministic CLI checks over assumptions.
|
|
215
|
+
- If elevated privileges are required, pause and provide exact commands for the user to run.
|
|
216
|
+
- Do not claim success until doctor and smoke-test checks are actually green.
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "environment-setup-ffmpeg"
|
|
3
|
+
description: "Install and validate FFmpeg on macOS, Linux, or Windows for optional Appium media capabilities"
|
|
4
|
+
metadata:
|
|
5
|
+
last_modified: "Mon, 09 Mar 2026 13:10:00 GMT"
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
# environment-setup-ffmpeg
|
|
9
|
+
|
|
10
|
+
## Goal
|
|
11
|
+
Installs and validates FFmpeg in a cross-platform way so Appium environments can use optional media-related capabilities when explicitly requested.
|
|
12
|
+
|
|
13
|
+
## Decision Logic
|
|
14
|
+
- If host OS is unsupported: stop and ask the user to run on macOS, Linux, or Windows.
|
|
15
|
+
- If `ffmpeg` is already available in `PATH`: do not reinstall; only validate version output.
|
|
16
|
+
- If user has not explicitly requested FFmpeg-related capability: skip this skill.
|
|
17
|
+
- If host OS is macOS: prefer Homebrew install.
|
|
18
|
+
- If host OS is Linux: use distro package manager install.
|
|
19
|
+
- If host OS is Windows: prefer `winget`; fallback to Chocolatey if `winget` is unavailable.
|
|
20
|
+
|
|
21
|
+
## Instructions
|
|
22
|
+
1. **Detect OS and current FFmpeg availability**
|
|
23
|
+
macOS/Linux:
|
|
24
|
+
```bash
|
|
25
|
+
uname -s
|
|
26
|
+
command -v ffmpeg || echo "ffmpeg not found"
|
|
27
|
+
ffmpeg -version || true
|
|
28
|
+
```
|
|
29
|
+
Windows PowerShell:
|
|
30
|
+
```powershell
|
|
31
|
+
[System.Environment]::OSVersion.VersionString
|
|
32
|
+
Get-Command ffmpeg.exe -ErrorAction SilentlyContinue
|
|
33
|
+
ffmpeg -version
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
2. **Install FFmpeg when missing**
|
|
37
|
+
macOS (Homebrew):
|
|
38
|
+
```bash
|
|
39
|
+
brew install ffmpeg
|
|
40
|
+
```
|
|
41
|
+
Linux (Debian/Ubuntu):
|
|
42
|
+
```bash
|
|
43
|
+
sudo apt-get update
|
|
44
|
+
sudo apt-get install -y ffmpeg
|
|
45
|
+
```
|
|
46
|
+
Linux (RHEL/CentOS/Fedora):
|
|
47
|
+
```bash
|
|
48
|
+
sudo dnf install -y ffmpeg
|
|
49
|
+
```
|
|
50
|
+
Linux (Arch):
|
|
51
|
+
```bash
|
|
52
|
+
sudo pacman -S --noconfirm ffmpeg
|
|
53
|
+
```
|
|
54
|
+
Windows PowerShell (`winget` preferred):
|
|
55
|
+
```powershell
|
|
56
|
+
winget install --id Gyan.FFmpeg --exact --accept-package-agreements --accept-source-agreements
|
|
57
|
+
```
|
|
58
|
+
Windows PowerShell (Chocolatey fallback):
|
|
59
|
+
```powershell
|
|
60
|
+
choco install ffmpeg -y
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
3. **Validate installation and PATH**
|
|
64
|
+
macOS/Linux:
|
|
65
|
+
```bash
|
|
66
|
+
command -v ffmpeg
|
|
67
|
+
ffmpeg -version
|
|
68
|
+
```
|
|
69
|
+
Windows PowerShell:
|
|
70
|
+
```powershell
|
|
71
|
+
Get-Command ffmpeg.exe -ErrorAction SilentlyContinue
|
|
72
|
+
ffmpeg -version
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
4. **Report capability in task result**
|
|
76
|
+
Include:
|
|
77
|
+
- resolved FFmpeg executable path
|
|
78
|
+
- first line of `ffmpeg -version`
|
|
79
|
+
- whether installation was skipped because FFmpeg was already present
|
|
80
|
+
|
|
81
|
+
## Completion criteria
|
|
82
|
+
Mark complete only when all are true:
|
|
83
|
+
- `ffmpeg` is resolvable from `PATH`
|
|
84
|
+
- `ffmpeg -version` succeeds
|
|
85
|
+
- result summary states whether install was performed or skipped
|
|
86
|
+
|
|
87
|
+
## Constraints
|
|
88
|
+
- This is an optional skill; run only when the user explicitly requests FFmpeg-related setup.
|
|
89
|
+
- Ask before installing optional dependencies.
|
|
90
|
+
- If privileged commands are required, pause and provide exact commands for user execution.
|
|
91
|
+
- Do not modify unrelated Appium, Java, Android SDK, or Xcode configuration in this skill.
|