@appium/mcp-documentation 1.0.2 → 1.0.4
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 +15 -0
- package/package.json +3 -6
- 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,75 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide:
|
|
3
|
+
- toc
|
|
4
|
+
|
|
5
|
+
title: Manual Configuration for a Generic Device
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
It is possible to build `WebDriverAgentRunner` for a generic iOS/iPadOS/tvOS device, and install the
|
|
9
|
+
generated `.app` package to a real device.
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# iOS/iPadOS
|
|
13
|
+
$ xcodebuild clean build-for-testing -project WebDriverAgent.xcodeproj -derivedDataPath appium_wda_ios -scheme WebDriverAgentRunner -destination generic/platform=iOS CODE_SIGNING_ALLOWED=YES
|
|
14
|
+
|
|
15
|
+
# tvOS
|
|
16
|
+
$ xcodebuild clean build-for-testing -project WebDriverAgent.xcodeproj -derivedDataPath appium_wda_tvos -scheme WebDriverAgentRunner_tvOS -destination generic/platform=tvOS CODE_SIGNING_ALLOWED=YES
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
On successful completion the resulting package `WebDriverAgentRunner-Runner.app` should be located
|
|
20
|
+
in the `Build/Products/Debug-iphoneos/` subfolder under WebDriverAgent sources root, or in the path
|
|
21
|
+
provided as `derivedDataPath` argument.
|
|
22
|
+
|
|
23
|
+
!!! note
|
|
24
|
+
|
|
25
|
+
If the build fails, please make sure `WebDriverAgent.xcodeproj` has codesigning properties
|
|
26
|
+
configured properly. For example, you may need to change the bundle id for the provisioning profile.
|
|
27
|
+
|
|
28
|
+
The `WebDriverAgentRunner-Runner.app` can now be installed to any real device as allowed by the
|
|
29
|
+
provisioning profile.
|
|
30
|
+
|
|
31
|
+
You can install the package with 3rd party tools and manage it separately as explained in
|
|
32
|
+
[How To Set Up And Customize WebDriverAgent Server](../../guides/wda-custom-server.md). Note that if
|
|
33
|
+
the codesigning was not correct, the installation will fail.
|
|
34
|
+
|
|
35
|
+
As a more advanced method, you can generate the package with `CODE_SIGNING_ALLOWED=NO` and do
|
|
36
|
+
[`codesign`](https://developer.apple.com/documentation/xcode/using-the-latest-code-signature-format)
|
|
37
|
+
by yourself. This would make the device management more flexible, but you would need to know about
|
|
38
|
+
advanced codesign usage scenarios.
|
|
39
|
+
|
|
40
|
+
The Appium team distributes generic builds with `CODE_SIGNING_ALLOWED=NO` at
|
|
41
|
+
[WebDriverAgent package releases](https://github.com/appium/WebDriverAgent/releases).
|
|
42
|
+
It is recommended to sign packages with a wildcard (`*`) provisioning profile,
|
|
43
|
+
although such profiles require a paid Apple Developer account.
|
|
44
|
+
For example, if you're preparing such a provisioning profile for `io.appium.WebDriverAgentRunner.xctrunner`, it will be for `io.appium.*`, `io.appium.WebDriverAgentRunner.*` or `*`.
|
|
45
|
+
|
|
46
|
+
In case of a free account or paid account without `*` provisioning profile,
|
|
47
|
+
you may need to update the bundle id before building so `xcodebuild` can produce
|
|
48
|
+
a properly signed WebDriverAgent package. Another option is to re-sign an existing
|
|
49
|
+
package and remap its bundle ids with 3rd party tools such as [resigner](https://github.com/appium/resigner).
|
|
50
|
+
The tool can remap the bundle ids to values allowed by the free provisioning profile and
|
|
51
|
+
then sign the package with that profile.
|
|
52
|
+
|
|
53
|
+
Please check the tool's readme for details, but in short, you can use the following command to
|
|
54
|
+
re-sign the package with bundle id remapping:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
P12_PASSWORD="<password of p12>" resigner \
|
|
58
|
+
--p12-file "<path to p12 file>" \
|
|
59
|
+
--profile "<path to provisioning profiles>" \
|
|
60
|
+
--force \
|
|
61
|
+
--bundle-id-remap "com.facebook.WebDriverAgentRunner=<valid bundle id for the profile>" \
|
|
62
|
+
--bundle-id-remap "com.facebook.WebDriverAgentRunner.xctrunner=<valid bundle id for the profile>" \
|
|
63
|
+
--bundle-id-remap "com.facebook.WebDriverAgentLib=<valid bundle id for the profile>" \
|
|
64
|
+
/path/to/WebDriverAgentRunner-Runner.app
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Or
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
P12_PASSWORD="<password of p12>" appium driver run xcuitest sign-wda -- \
|
|
71
|
+
--wda-path=<path> \
|
|
72
|
+
--p12-file=<path> \
|
|
73
|
+
--profile-dir=<path to provisioning profiles> \
|
|
74
|
+
--bundle-id=<valid bundle id for the profile>
|
|
75
|
+
```
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Provisioning Profile
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
The XCUITest driver communicates with the device under test through the
|
|
6
|
+
`WebDriverAgentRunner-Runner` (WDA) helper application, which the driver can automatically build and
|
|
7
|
+
install on the device. For real devices, Apple requires all apps to have a valid provisioning
|
|
8
|
+
profile before they can be installed, which means that the WDA app must first be signed and linked
|
|
9
|
+
to a development team. This guide describes how to accomplish this.
|
|
10
|
+
|
|
11
|
+
## Apple Account
|
|
12
|
+
|
|
13
|
+
A key prerequisite for signing WDA is ^^an Apple Account^^. Free and paid accounts are both
|
|
14
|
+
supported. Note that there are two cases where you may not need an account:
|
|
15
|
+
|
|
16
|
+
* Your device already [already has WDA installed](../../guides/run-preinstalled-wda.md)
|
|
17
|
+
* You already have [a prebuilt WDA](../../guides/run-prebuilt-wda.md) on your local system
|
|
18
|
+
|
|
19
|
+
Once you have an Apple Account, there are several approaches you can take.
|
|
20
|
+
|
|
21
|
+
## Automatic Configuration
|
|
22
|
+
|
|
23
|
+
The automatic configuration approach allows creating a provisioning profile without the need to
|
|
24
|
+
configure WDA itself. However, ^^it is only supported for paid Apple Developer accounts^^.
|
|
25
|
+
|
|
26
|
+
> Read the full guide: [Automatic Provisioning Profile Configuration](./auto-config.md)
|
|
27
|
+
|
|
28
|
+
## Manual Configuration
|
|
29
|
+
|
|
30
|
+
Free Apple Accounts are still able to sign WDA and link it to their default personal team. There
|
|
31
|
+
are several ways of doing this, but all of them involve working with the WDA application, or more
|
|
32
|
+
specifically, its Xcode project, which is installed alongside the XCUITest driver.
|
|
33
|
+
|
|
34
|
+
The driver includes a convenience script to automatically open the WDA project in Xcode:
|
|
35
|
+
```
|
|
36
|
+
appium driver run xcuitest open-wda
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The script will also print the full path to the project file, which you may want to use in later
|
|
40
|
+
steps. The project file is located in the XCUITest driver install directory:
|
|
41
|
+
```
|
|
42
|
+
<path/to/xcuitest/driver>/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Once Xcode is open, make sure to add your Apple Account in the settings:
|
|
46
|
+
> _Xcode_ -> _Settings_ -> _Apple Accounts_ -> _Add Apple Account..._
|
|
47
|
+
|
|
48
|
+
Now you can configure the WDA project using one of the manual configuration approaches:
|
|
49
|
+
|
|
50
|
+
* Basic configuration: create a new project, then use its provisioning profile and bundle ID
|
|
51
|
+
|
|
52
|
+
> Read the full guide: [Basic Manual Provisioning Profile Configuration](./basic-manual-config.md)
|
|
53
|
+
|
|
54
|
+
* Full configuration: associate the provisioning profile directly with the WDA project
|
|
55
|
+
|
|
56
|
+
> Read the full guide: [Full Manual Provisioning Profile Configuration](./full-manual-config.md)
|
|
57
|
+
|
|
58
|
+
* Generic device configuration: manually run `xcodebuild` to build WDA, then manually install it
|
|
59
|
+
|
|
60
|
+
> Read the full guide: [Manual Provisioning Profile Configuration for a Generic Device](./generic-device-config.md)
|
|
61
|
+
|
|
62
|
+
## Common Issues
|
|
63
|
+
|
|
64
|
+
At this point you should have either tried to start a session with provisioning profile-related
|
|
65
|
+
capabilities (for automatic config), or tried to build and install WDA through Xcode (for manual
|
|
66
|
+
config). If this did not succeed, you likely have one of the following problems. For issues not
|
|
67
|
+
listed here, please refer to the [Troubleshooting](../../troubleshooting/index.md) page.
|
|
68
|
+
|
|
69
|
+
### xcodebuild exited with code 65
|
|
70
|
+
|
|
71
|
+
This can happen during automatic configuration, or when a manually configured provisioning profile
|
|
72
|
+
is revoked (for example, due to expiration). It means that code signing is not set up correctly and
|
|
73
|
+
must be reconfigured. Follow the steps in any of the manual configuration approaches to fix this.
|
|
74
|
+
|
|
75
|
+
The [appium:allowProvisioningDeviceRegistration](../../reference/capabilities.md) capability
|
|
76
|
+
enables automatic device registration with the specified account and works for both paid and free accounts.
|
|
77
|
+
|
|
78
|
+
### xcodebuild exited with code 70
|
|
79
|
+
|
|
80
|
+
Similarly to the error for code 65, this error can be caused by invalid code signing, but may
|
|
81
|
+
also be returned in case of invalid `xcodebuild` configuration (for example, wrong platform
|
|
82
|
+
version). To fix this, check if code signing is set up properly, and verify that any custom build
|
|
83
|
+
parameters have valid values.
|
|
84
|
+
|
|
85
|
+
### Developer App Certificate is not trusted
|
|
86
|
+
|
|
87
|
+
This error can appear in Xcode when building WDA during manual configuration with a free Apple
|
|
88
|
+
Account. A similar error will also appear if you manually try to open the WDA app on the device:
|
|
89
|
+
|
|
90
|
+

|
|
91
|
+
|
|
92
|
+
You can fix this by allowing your device to accept apps from your personal development team.
|
|
93
|
+
Note that this requires the device to have an internet connection.
|
|
94
|
+
|
|
95
|
+
1. On the device, open _Settings_ -> _General_ -> _VPN & Device Management_
|
|
96
|
+
2. You should see a new _Developer App_ section, listing the Apple Account email used to build WDA. Select it.
|
|
97
|
+
3. Tap _Trust {email}_ -> _Allow_
|
|
98
|
+
|
|
99
|
+
You can find additional information in the related [Apple documentation guide](https://support.apple.com/en-us/118254).
|
|
100
|
+
|
|
101
|
+
## Offline Provisioning Profile
|
|
102
|
+
|
|
103
|
+
Since iOS 16, Apple requires a device to have a live internet connection for validating the code
|
|
104
|
+
signing. It is possible to set up an offline enabled provisioning profile, which allows you to avoid
|
|
105
|
+
the limitation, although such profiles are only valid for up to 7 days. Please read
|
|
106
|
+
[this issue](https://github.com/appium/appium/issues/18378#issuecomment-1482678074) regarding
|
|
107
|
+
detailed configuration steps.
|
|
108
|
+
|
|
109
|
+
## Improve WebDriverAgent Startup Performance
|
|
110
|
+
|
|
111
|
+
Building WDA upon every session startup may add up to a significant amount of time. The driver
|
|
112
|
+
offers a few methods to speed this up, with or without using `xcodebuild`. Some approaches may
|
|
113
|
+
require a deeper understanding of the iOS development environment.
|
|
114
|
+
|
|
115
|
+
- [Run Preinstalled WebDriverAgentRunner](../../guides/run-preinstalled-wda.md)
|
|
116
|
+
- [Run Prebuilt WebDriverAgentRunner](../../guides/run-prebuilt-wda.md)
|
|
117
|
+
- [Attach to a Running WebDriverAgent](../../guides/attach-to-running-wda.md)
|
package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/system-requirements.md
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: System Requirements
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
There are three primary requirements to use the XCUITest driver:
|
|
6
|
+
|
|
7
|
+
* macOS host machine
|
|
8
|
+
* Xcode
|
|
9
|
+
* Appium
|
|
10
|
+
|
|
11
|
+
For most use cases, the latest versions of the above will work just fine.
|
|
12
|
+
|
|
13
|
+
However, if you want to automate devices with an older iOS/iPadOS/tvOS version, ^^you may also be
|
|
14
|
+
required to use older versions of all three of the above^^. Use the following compatibility tables
|
|
15
|
+
to help identify your target Xcode, macOS, driver and Appium server versions.
|
|
16
|
+
|
|
17
|
+
!!! note
|
|
18
|
+
|
|
19
|
+
This document only lists compatibility information starting from iOS/tvOS 9.3 and Xcode 11, as
|
|
20
|
+
these were the minimum supported versions in XCUITest driver 4.0.0, which was the first
|
|
21
|
+
version supporting Appium 2. For iOS/tvOS/Xcode support in driver versions older than 4.0.0
|
|
22
|
+
(Appium 1), please refer to [the Appium 1 changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md).
|
|
23
|
+
|
|
24
|
+
!!! note
|
|
25
|
+
|
|
26
|
+
If you already have the driver installed, you can also verify its requirements with the
|
|
27
|
+
built-in Appium Doctor support:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
appium driver doctor xcuitest
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Xcode and macOS
|
|
34
|
+
|
|
35
|
+
Apple provides a list of Xcode versions and their minimum supported iOS/iPadOS/tvOS and macOS
|
|
36
|
+
versions in the [Xcode Release Notes](https://developer.apple.com/documentation/xcode-release-notes/).
|
|
37
|
+
However, _maximum_ supported versions are also enforced, but are not explicitly listed.
|
|
38
|
+
|
|
39
|
+
The aforementioned release notes do allow identifying the upper version limits for iOS/iPadOS/tvOS,
|
|
40
|
+
but for macOS, it can generally be assumed that if a major Xcode version requires at least macOS
|
|
41
|
+
version `X`, then it will no longer run on macOS version `X+2`. [^xcode-macos]
|
|
42
|
+
|
|
43
|
+
The following table shows a simplified mapping between iOS/iPadOS/tvOS, Xcode, and macOS versions,
|
|
44
|
+
narrowed for XCUITest driver compatibility:
|
|
45
|
+
|
|
46
|
+
| iOS/iPadOS/tvOS version | Supported Xcode versions (driver-adjusted) | Supported macOS versions |
|
|
47
|
+
| --- | --- | -- |
|
|
48
|
+
| 26 | Xcode >= 26 | macOS >= 15.6 |
|
|
49
|
+
| 18 | Xcode >= 16 | macOS >= 14.3 |
|
|
50
|
+
| 17 | Xcode >= 15 | macOS >= 13.3 |
|
|
51
|
+
| 16 | Xcode >= 14 | macOS >= 12.5 |
|
|
52
|
+
| 15 | Xcode >= 13 | macOS >= 11.3 |
|
|
53
|
+
| 14 | Xcode 12 - 15 (except 13.3 - 13.4.1) | macOS 10.15.4 - 14 |
|
|
54
|
+
| 13 | Xcode 11 - 15 (except 13.3 - 13.4.1) | macOS 10.14.4 - 14 |
|
|
55
|
+
| 12 | Xcode 11 - 15 (except 13.3 - 13.4.1) | macOS 10.14.4 - 14 |
|
|
56
|
+
| 11 | Xcode 11 - 14 (except 13.3 - 13.4.1) | macOS 10.14.4 - 13 |
|
|
57
|
+
| 10 | Xcode 11 - 13.2.1 | macOS 10.14.4 - 12 |
|
|
58
|
+
| 9.3 | Xcode 11 - 13.2.1 | macOS 10.14.4 - 12 |
|
|
59
|
+
|
|
60
|
+
## Driver Version
|
|
61
|
+
|
|
62
|
+
The XCUITest driver aims to _fully support_ the latest _two_ (2) major Xcode/iOS/iPadOS/tvOS
|
|
63
|
+
versions, but _may_ still fully or partially work with certain older versions.
|
|
64
|
+
|
|
65
|
+
??? info "Why not support all OS and Xcode versions?"
|
|
66
|
+
|
|
67
|
+
The XCUITest driver depends on the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent)
|
|
68
|
+
framework, which in turn [relies on Apple's XCTest framework](../overview.md). Changes in the
|
|
69
|
+
XCTest API are published in new Xcode and Apple device OS versions. These API changes may not
|
|
70
|
+
only add new features that the driver must implement in order to support the latest devices, but
|
|
71
|
+
also modify or even remove support for existing features that the driver relies on.
|
|
72
|
+
|
|
73
|
+
The following tables map Xcode/OS versions to their supported driver versions. Versions with the
|
|
74
|
+
'not tested' label are still likely to work fine with the latest driver, but any fixes for them will
|
|
75
|
+
have lesser priority than for newer Xcode/OS versions, and any major workarounds are unlikely.
|
|
76
|
+
|
|
77
|
+
If you are downgrading an existing driver installation to adjust its Xcode/OS support range, ensure that
|
|
78
|
+
the version of the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent) server
|
|
79
|
+
application (which the driver installs on the device under test) is also downgraded accordingly.
|
|
80
|
+
|
|
81
|
+
| iOS/iPadOS/tvOS version | Fully supported driver/WDA versions | Last likely working driver/WDA version |
|
|
82
|
+
| --- | --- | --- |
|
|
83
|
+
| >= 26.4 | >= [10.23.2](https://github.com/appium/appium-xcuitest-driver/pull/2733) (WDA >= 11.1.5) | Latest |
|
|
84
|
+
| 26.0 - 26.3 | >= 9.5.0 (WDA >= [9.14.1](https://github.com/appium/WebDriverAgent/pull/1032)) | Latest |
|
|
85
|
+
| 18.0 - 18.7 | >= 7.24.15 (WDA >= [8.9.1](https://github.com/appium/WebDriverAgent/pull/935)) | Latest |
|
|
86
|
+
| 17.0 - 17.7 | [4.32.23](https://github.com/appium/appium-xcuitest-driver/pull/1822) - 10.1.0 (WDA 5.6.0 - 10.1.0) | Latest (not tested) |
|
|
87
|
+
| 16.4 - 16.7 | 4.21.7 - 7.26.3 (WDA [4.13.1](https://github.com/appium/WebDriverAgent/pull/681) - 8.9.1) | Latest (not tested) |
|
|
88
|
+
| 16.0 - 16.3 | 4.7.4 - 7.26.3 (WDA [4.8.1](https://github.com/appium/WebDriverAgent/pull/597) - 8.9.1) | Latest (not tested) |
|
|
89
|
+
| 15.0 - 15.8 | 4.0.0 - 5.2.0 (WDA 4.0.0 - 5.8.5) | Latest (not tested) |
|
|
90
|
+
| 14.0 - 14.8 | 4.0.0 - 4.11.1 (WDA 4.0.0 - 4.8.5) | 4.27.2 (WDA [4.15.1](https://github.com/appium/WebDriverAgent/pull/696)) |
|
|
91
|
+
| 9.3 - 13.7 | < 4.0.0 | 4.27.2 (WDA [4.15.1](https://github.com/appium/WebDriverAgent/pull/696)) |
|
|
92
|
+
|
|
93
|
+
| Xcode version | Fully supported driver/WDA versions | Last likely working driver/WDA version |
|
|
94
|
+
| --- | --- | --- |
|
|
95
|
+
| Xcode >= 26.0 | >= 9.5.0 (WDA >= [9.14.1](https://github.com/appium/WebDriverAgent/pull/1032)) | Latest |
|
|
96
|
+
| Xcode 16.0 - 16.4 | >= 7.24.15 (WDA >= [8.9.1](https://github.com/appium/WebDriverAgent/pull/935)) | Latest |
|
|
97
|
+
| Xcode 15.0 - 15.4 | [4.32.23](https://github.com/appium/appium-xcuitest-driver/pull/1822) - 10.1.0 (WDA 5.6.0 - 10.1.0) | Latest (not tested) |
|
|
98
|
+
| Xcode 14.3 | 4.21.7 - 7.26.3 (WDA [4.13.1](https://github.com/appium/WebDriverAgent/pull/681) - 8.9.1) | Latest (not tested) |
|
|
99
|
+
| Xcode 14.0 - 14.2 | 4.7.4 - 7.26.3 (WDA [4.8.1](https://github.com/appium/WebDriverAgent/pull/597) - 8.9.1) | Latest (not tested) |
|
|
100
|
+
| Xcode 13.3 - 13.4 | 4.3.3 - 5.2.0 (WDA [4.1.6](https://github.com/appium/WebDriverAgent/pull/573) - 5.8.5) | [10.6.0](https://github.com/appium/appium-xcuitest-driver/pull/2658) (WDA 10.2.2) |
|
|
101
|
+
| Xcode 13.0 - 13.2 | 4.0.0 - 5.2.0 (WDA 4.0.0 - 5.8.5) | [10.6.0](https://github.com/appium/appium-xcuitest-driver/pull/2658) (WDA 10.2.2) |
|
|
102
|
+
| Xcode 12.0 - 12.5 | 4.0.0 - 4.11.1 (WDA 4.0.0 - 4.8.5) | 4.27.2 (WDA [4.15.1](https://github.com/appium/WebDriverAgent/pull/696)) |
|
|
103
|
+
| Xcode 11.0 - 11.7 | < 4.0.0 | 4.2.0 (WDA [4.0.0](https://github.com/appium/WebDriverAgent/pull/557)) |
|
|
104
|
+
|
|
105
|
+
## Appium Server
|
|
106
|
+
|
|
107
|
+
Make sure to install a version of Appium that supports your target driver version. The requirements
|
|
108
|
+
and prerequisites of Appium itself can be found in [the Appium documentation](https://appium.io/docs/en/latest/quickstart/install/).
|
|
109
|
+
|
|
110
|
+
| XCUITest driver version | Supported Appium server version |
|
|
111
|
+
| --- | --- |
|
|
112
|
+
| >= 10.0.0 | Appium 3 |
|
|
113
|
+
| 4.0.0 - 9.10.5 | Appium 2 |
|
|
114
|
+
|
|
115
|
+
## Other Requirements
|
|
116
|
+
|
|
117
|
+
- If automating real devices, additional manual configuration is required - please refer to the
|
|
118
|
+
[Real Device Setup](./device-setup.md#real-devices) guide.
|
|
119
|
+
- If testing web or hybrid apps, their webviews must be debuggable. If it is not possible to connect to your
|
|
120
|
+
webview(s) using [Safari remote debugger](https://appletoolbox.com/use-web-inspector-debug-mobile-safari/),
|
|
121
|
+
then the driver will not be able to identify them.
|
|
122
|
+
|
|
123
|
+
### Optional Requirements
|
|
124
|
+
|
|
125
|
+
- [`ffmpeg`](https://ffmpeg.org/) is used for test video recording. It can be installed using
|
|
126
|
+
[`brew`](https://brew.sh/): `brew install ffmpeg`
|
|
127
|
+
- [`go-ios`](https://github.com/danielpaulus/go-ios) can be used to improve device interactions
|
|
128
|
+
- [WIX AppleSimulatorUtils](https://github.com/wix/AppleSimulatorUtils) can be used to improve some
|
|
129
|
+
Simulator interactions
|
|
130
|
+
|
|
131
|
+
[^xcode-macos]: Refer to this [StackOverflow post](https://stackoverflow.com/questions/78996419/xcode-15-is-not-running-in-macos-sequoia)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide:
|
|
3
|
+
- toc
|
|
4
|
+
|
|
5
|
+
title: Attach to a Running WDA
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The XCUITest driver provides the __`appium:webDriverAgentUrl`__ capability to attach to a running
|
|
9
|
+
WebDriverAgent (WDA) application. This works for real devices and simulators, but the primary usage
|
|
10
|
+
is for real devices.
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
1. Start a WebDriverAgent application on a device
|
|
15
|
+
2. Start an XCUITest driver session with `appium:webDriverAgentUrl` capability
|
|
16
|
+
|
|
17
|
+
Please read [Manage WebDriverAgent by Yourself](./wda-custom-server.md) and
|
|
18
|
+
[Real Device Setup](../getting-started/device-setup.md#real-devices) about how to prepare WDA for a
|
|
19
|
+
real device.
|
|
20
|
+
|
|
21
|
+
The `appium:webDriverAgentUrl` value should be the WDA URL: `http://<reachable ip address for the device>:8100`.
|
|
22
|
+
If the environment has port-forward to the connected device, it can be `http://localhost:8100`.
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"platformName": "ios",
|
|
27
|
+
"appium:automationName": "xcuitest",
|
|
28
|
+
"appium:platformVersion": "15.5",
|
|
29
|
+
"appium:udid": "<device udid>",
|
|
30
|
+
"appium:deviceName": "iPhone",
|
|
31
|
+
"appium:webDriverAgentUrl": "http://<reachable ip address for the device>:8100"
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
This method allows you to manage the WDA process by yourself. The XCUITest driver then simply
|
|
36
|
+
attaches to the WDA process, which may improve the application performance.
|
|
37
|
+
|
|
38
|
+
Some XCUITest driver APIs (for example,
|
|
39
|
+
[mobile: calibrateWebToRealCoordinatesTranslation](../reference/execute-methods.md#mobile-calibratewebtorealcoordinatestranslation))
|
|
40
|
+
might still require the port number of the remote device if it is a real device. Providing the
|
|
41
|
+
`appium:webDriverAgentUrl` capability might not be sufficient to recognize the remote port number,
|
|
42
|
+
in case it is different from the local one. Consider settings the `appium:wdaRemotePort` capability
|
|
43
|
+
in such cases, to supply the driver with the appropriate data.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Audio Capture
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
Appium XCUITest driver provides a possibility to record iOS audio stream and save it to a file,
|
|
7
|
+
which could be then retrieved on the client side. Apple does not provide any API to directly
|
|
8
|
+
retrieve the audio stream from a Simulator or a real device, but it is possible to redirect that
|
|
9
|
+
stream to the host machine, where it could be captured.
|
|
10
|
+
|
|
11
|
+
* [`mobile: startAudioRecording`](../reference/execute-methods.md#mobile-startaudiorecording)
|
|
12
|
+
* [`mobile: stopAudioRecording`](../reference//execute-methods.md#mobile-stopaudiorecording)
|
|
13
|
+
|
|
14
|
+
## Server Requirements
|
|
15
|
+
|
|
16
|
+
- The host machine must have [`ffmpeg`](https://www.ffmpeg.org/download.html) installed and added to PATH.
|
|
17
|
+
It can be installed via [`brew`](https://brew.sh/): `brew install ffmpeg`.
|
|
18
|
+
- For macOS 10.15+, applications recording Microphone audio need to be explicitly granted this permission.
|
|
19
|
+
This can be done in the following settings menu:
|
|
20
|
+
|
|
21
|
+
- macOS < 13: _System Preferences -> Security & Privacy -> Privacy -> Microphone_
|
|
22
|
+
- macOS 13+: _System Settings -> Privacy & Security -> Microphone_
|
|
23
|
+
|
|
24
|
+
Ensure that either `ffmpeg` itself or the parent Appium process (e.g. Terminal) is present in that list.
|
|
25
|
+
|
|
26
|
+
- As this is a potentially insecure feature, it must be explicitly allowed on the server side. See
|
|
27
|
+
[the Appium documentation on Security](https://appium.io/docs/en/latest/guides/security/) for more details.
|
|
28
|
+
The feature name is `audio_record`.
|
|
29
|
+
|
|
30
|
+
## Simulator Setup
|
|
31
|
+
|
|
32
|
+
The following steps are necessary to setup iOS Simulator audio capture:
|
|
33
|
+
|
|
34
|
+
* Install [Soundflower](https://github.com/mattingalls/Soundflower/releases)
|
|
35
|
+
* Redirect Simulator audio output to Soundflower: from the main Simulator menu, select
|
|
36
|
+
_I/O -> Audio Output -> Soundflower (2ch)_
|
|
37
|
+
* In terminal, run `ffmpeg -f avfoundation -list_devices true -i ""` to get the identifier of the
|
|
38
|
+
`Soundflower (2ch)` device. This identifier prefixed with `:` will be then used as `audioInput`
|
|
39
|
+
argument to `mobile: startAudioRecording` call
|
|
40
|
+
* Test that your setup works as expected. Run any audio playback in Simulator and execute the
|
|
41
|
+
following command in Terminal, replacing the `-i` argument value with the one you got from the
|
|
42
|
+
previous step:
|
|
43
|
+
```
|
|
44
|
+
ffmpeg -t 5 -f avfoundation -i ":1" -c:a aac -b:a 128k -ac 2 -ar 44100 -y ~/Desktop/out.mp4
|
|
45
|
+
```
|
|
46
|
+
After 5 seconds, a file named `out.mp4` should be created on your desktop, containing the recorded
|
|
47
|
+
audio stream.
|
|
48
|
+
|
|
49
|
+
## Real Device Setup
|
|
50
|
+
|
|
51
|
+
The following steps are necessary to setup iOS Real Device audio capture:
|
|
52
|
+
|
|
53
|
+
* Connect your device to the Mac host with a cable
|
|
54
|
+
* Open the _Audio MIDI Setup_ application
|
|
55
|
+
* Via Finder: _Applications -> Utilities -> Audio MIDI Setup_
|
|
56
|
+
* Via terminal: `open -a /System/Applications/Utilities/Audio\ MIDI\ Setup.app`
|
|
57
|
+
* Find your phone in the list of devices there and click `Enable` next to it
|
|
58
|
+
* In terminal, run `ffmpeg -f avfoundation -list_devices true -i ""` to get the identifier of your
|
|
59
|
+
device in the `AVFoundation audio devices` list. This identifier prefixed with `:` will be then
|
|
60
|
+
used as `audioInput` argument to `mobile: startAudioRecording` call
|
|
61
|
+
* Test that your setup works as expected. Run any audio playback on the device and execute the
|
|
62
|
+
following command in Terminal, replacing the `-i` argument value with the value you got from the
|
|
63
|
+
previous step:
|
|
64
|
+
```
|
|
65
|
+
ffmpeg -t 5 -f avfoundation -i ":1" -c:a aac -b:a 128k -ac 2 -ar 44100 -y ~/Desktop/out.mp4
|
|
66
|
+
```
|
|
67
|
+
After 5 seconds, a file named `out.mp4` should be created on your desktop, containing the recorded
|
|
68
|
+
audio stream.
|
|
69
|
+
|
|
70
|
+
!!! note
|
|
71
|
+
|
|
72
|
+
Apple does not allow phone calls to be redirected this way. You can only record application or system sounds.
|
|
73
|
+
|
|
74
|
+
## Further Reading
|
|
75
|
+
|
|
76
|
+
* <https://github.com/appium/appium-xcuitest-driver/pull/1207>
|
|
77
|
+
* <https://www.macobserver.com/tips/quick-tip/iphone-audio-input-mac/>
|
|
78
|
+
* <http://www.lorisware.com/blog/2012/04/28/recording-iphone-emulator-video-with-sound/>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
hide:
|
|
3
|
+
- toc
|
|
4
|
+
|
|
5
|
+
title: Biometric Authentication
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
The XCUITest driver has the capability to simulate biometric authentication, such as
|
|
9
|
+
[Touch ID](https://support.apple.com/en-us/102528) and [Face ID](https://support.apple.com/en-us/108411).
|
|
10
|
+
|
|
11
|
+
!!! note
|
|
12
|
+
|
|
13
|
+
This functionality is only supported on simulators that support either Touch ID or Face ID.
|
|
14
|
+
|
|
15
|
+
The driver provides the following execute methods for managing biometric authentication:
|
|
16
|
+
|
|
17
|
+
* [`mobile: enrollBiometric`](../reference/execute-methods.md#mobile-enrollbiometric)
|
|
18
|
+
* [`mobile: sendBiometricMatch`](../reference/execute-methods.md#mobile-sendbiometricmatch)
|
|
19
|
+
* [`mobile: isBiometricEnrolled`](../reference/execute-methods.md#mobile-isbiometricenrolled)
|
|
20
|
+
|
|
21
|
+
Basic use case:
|
|
22
|
+
|
|
23
|
+
1. Call `mobile: enrollBiometric`
|
|
24
|
+
* By default, this enrolls the device
|
|
25
|
+
* Set `isEnabled` to `false` to unenroll
|
|
26
|
+
2. Call `mobile: sendBiometricMatch`
|
|
27
|
+
* By default, this simulates a Touch ID match
|
|
28
|
+
* Set `type` to either `touchId` or `faceId`, depending on your device
|
|
29
|
+
* Set `match` to `true` or `false` to trigger a match or non-match, respectively
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Capability Set Examples
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
This article describes necessary capabilities that must be provided in order
|
|
6
|
+
to implement some common automation testing scenarios.
|
|
7
|
+
It only describes very minimum sets of capabilities required to
|
|
8
|
+
be included. For refined setups more of them might need to be provided. Check the
|
|
9
|
+
[Capabilities](../reference/capabilities.md) article for more details
|
|
10
|
+
on each option available for the fine-tuning of XCUITest driver sessions.
|
|
11
|
+
|
|
12
|
+
### Application File (Real Device)
|
|
13
|
+
|
|
14
|
+
```json
|
|
15
|
+
{
|
|
16
|
+
"platformName": "iOS",
|
|
17
|
+
"appium:automationName": "XCUITest",
|
|
18
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
19
|
+
"appium:udid": "<Phone_UUID>",
|
|
20
|
+
"appium:app": "/path/to/local/package.ipa"
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
`appium:app` could also be a remote app or an archive:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
"appium:app": "https://example.com/package.ipa"
|
|
28
|
+
"appium:app": "https://example.com/package.zip"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`appium:udid` could also be set to `auto` in order to select the first matched device
|
|
32
|
+
connected to the host (or a single one if only one is connected):
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
"appium:udid": "auto"
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Application File (Simulator)
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"platformName": "iOS",
|
|
43
|
+
"appium:automationName": "XCUITest",
|
|
44
|
+
"appium:deviceName": "<Simulator_Name>",
|
|
45
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
46
|
+
"appium:app": "/path/to/local/package.app"
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
`appium:app` could also be an archive:
|
|
51
|
+
|
|
52
|
+
```
|
|
53
|
+
"appium:app": "https://example.com/package.zip"
|
|
54
|
+
"appium:app": "/path/to/local/package.zip"
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Safari (Real Device)
|
|
58
|
+
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"platformName": "iOS",
|
|
62
|
+
"appium:automationName": "XCUITest",
|
|
63
|
+
"browserName": "Safari",
|
|
64
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
65
|
+
"appium:udid": "<Phone_UUID>"
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
You may also provide `appium:safariInitialUrl` capability value to navigate
|
|
70
|
+
to the desired page during the session startup:
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
"appium:safariInitialUrl": "https://server.com/page"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Safari (Simulator)
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"platformName": "iOS",
|
|
81
|
+
"appium:automationName": "XCUITest",
|
|
82
|
+
"browserName": "Safari",
|
|
83
|
+
"appium:deviceName": "<Simulator_Name>",
|
|
84
|
+
"appium:platformVersion": "<iOS_Version>"
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Pre-Installed App (Real Device)
|
|
89
|
+
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"platformName": "iOS",
|
|
93
|
+
"appium:automationName": "XCUITest",
|
|
94
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
95
|
+
"appium:udid": "<Phone_UUID>",
|
|
96
|
+
"appium:bundleId": "<Bundle_ID_Of_Preinstalled_App>",
|
|
97
|
+
"appium:noReset": true
|
|
98
|
+
}
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The `appium:noReset` capability is set to `true` in order to tell the driver
|
|
102
|
+
the app identified by `appium:bundleId` is already preinstalled and must not be reset.
|
|
103
|
+
|
|
104
|
+
### Pre-Installed App (Simulator)
|
|
105
|
+
|
|
106
|
+
```json
|
|
107
|
+
{
|
|
108
|
+
"platformName": "iOS",
|
|
109
|
+
"appium:automationName": "XCUITest",
|
|
110
|
+
"appium:deviceName": "<Simulator_Name>",
|
|
111
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
112
|
+
"appium:bundleId": "<Bundle_ID_Of_Preinstalled_App>",
|
|
113
|
+
"appium:noReset": true
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Deeplink (Real Device running iOS 17+)
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"platformName": "iOS",
|
|
122
|
+
"appium:automationName": "XCUITest",
|
|
123
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
124
|
+
"appium:udid": "<Phone_UUID>",
|
|
125
|
+
"appium:initialDeeplinkUrl": "<Deeplink_Url>"
|
|
126
|
+
}
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Deeplink (Simulator running iOS 17+)
|
|
130
|
+
|
|
131
|
+
```json
|
|
132
|
+
{
|
|
133
|
+
"platformName": "iOS",
|
|
134
|
+
"appium:automationName": "XCUITest",
|
|
135
|
+
"appium:deviceName": "<Simulator_Name>",
|
|
136
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
137
|
+
"appium:initialDeeplinkUrl": "<Deeplink_Url>"
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### Custom Launch (Real Device)
|
|
142
|
+
|
|
143
|
+
```json
|
|
144
|
+
{
|
|
145
|
+
"platformName": "iOS",
|
|
146
|
+
"appium:automationName": "XCUITest",
|
|
147
|
+
"appium:platformVersion": "<iOS_Version>",
|
|
148
|
+
"appium:udid": "<Phone_UUID>",
|
|
149
|
+
}
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
This will start your test at the Home screen.
|
|
153
|
+
Afterwards you may use any of the application management
|
|
154
|
+
methods, like [mobile: installApp](../reference//execute-methods.md#mobile-installapp)
|
|
155
|
+
or [mobile: activateApp](../reference//execute-methods.md#mobile-activateapp)
|
|
156
|
+
to manage the life cycle of your app or switch between contexts to
|
|
157
|
+
manage web pages. Check the full list of
|
|
158
|
+
[mobile: execute methods](../reference/execute-methods.md) for more details.
|
|
159
|
+
|
|
160
|
+
### Custom Launch (Simulator)
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"platformName": "iOS",
|
|
165
|
+
"appium:automationName": "XCUITest",
|
|
166
|
+
"appium:deviceName": "<Simulator_Name>",
|
|
167
|
+
"appium:platformVersion": "<iOS_Version>"
|
|
168
|
+
}
|
|
169
|
+
```
|