@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.
Files changed (417) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/package.json +3 -6
  3. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  4. package/src/resources/submodules/appium/.github/copilot-instructions.md +9 -0
  5. package/src/resources/submodules/appium/CHANGELOG.md +45 -0
  6. package/src/resources/submodules/appium/GOVERNANCE.md +189 -0
  7. package/src/resources/submodules/appium/README.md +221 -0
  8. package/src/resources/submodules/appium/ROADMAP.md +30 -0
  9. package/src/resources/submodules/appium/SPONSORS.md +3 -0
  10. package/src/resources/submodules/appium/docs/README.md +6 -0
  11. package/src/resources/submodules/appium/docs/payout.md +35 -0
  12. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +1547 -0
  13. package/src/resources/submodules/appium/packages/appium/README.md +221 -0
  14. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +2 -0
  15. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +45 -0
  16. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  17. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  18. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-development-partner.md +36 -0
  19. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +42 -0
  20. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  21. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +48 -0
  22. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +40 -0
  23. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +15 -0
  24. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +150 -0
  25. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +86 -0
  26. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +141 -0
  27. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +1002 -0
  28. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +523 -0
  29. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +451 -0
  30. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +18 -0
  31. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +49 -0
  32. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +132 -0
  33. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +207 -0
  34. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +45 -0
  35. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +138 -0
  36. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +106 -0
  37. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +57 -0
  38. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +76 -0
  39. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +271 -0
  40. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +98 -0
  41. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +44 -0
  42. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +73 -0
  43. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +122 -0
  44. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +178 -0
  45. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +17 -0
  46. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +86 -0
  47. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +87 -0
  48. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +368 -0
  49. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +464 -0
  50. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +87 -0
  51. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +68 -0
  52. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +42 -0
  53. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +59 -0
  54. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +202 -0
  55. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +127 -0
  56. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +188 -0
  57. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +196 -0
  58. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +39 -0
  59. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +29 -0
  60. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +50 -0
  61. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +23 -0
  62. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +29 -0
  63. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +105 -0
  64. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +23 -0
  65. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +75 -0
  66. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +60 -0
  67. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +83 -0
  68. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +144 -0
  69. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +394 -0
  70. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +70 -0
  71. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +30 -0
  72. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +214 -0
  73. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +151 -0
  74. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +736 -0
  75. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +289 -0
  76. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +1114 -0
  77. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +31 -0
  78. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +246 -0
  79. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +36 -0
  80. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/insecure-features.md +24 -0
  81. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +78 -0
  82. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +76 -0
  83. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +31 -0
  84. package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/caps.md +56 -0
  85. package/src/resources/submodules/appium/packages/appium/docs/en/reference/session/index.md +23 -0
  86. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +28 -0
  87. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +69 -0
  88. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +2 -0
  89. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +45 -0
  90. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  91. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  92. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-development-partner.md +34 -0
  93. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  94. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  95. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +48 -0
  96. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +40 -0
  97. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +15 -0
  98. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +158 -0
  99. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +86 -0
  100. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +141 -0
  101. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +1010 -0
  102. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +529 -0
  103. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +468 -0
  104. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +18 -0
  105. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +49 -0
  106. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +143 -0
  107. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +219 -0
  108. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +45 -0
  109. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +140 -0
  110. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +115 -0
  111. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +57 -0
  112. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +78 -0
  113. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +276 -0
  114. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +102 -0
  115. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +44 -0
  116. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +75 -0
  117. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +142 -0
  118. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +178 -0
  119. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +17 -0
  120. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +86 -0
  121. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +89 -0
  122. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +402 -0
  123. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +458 -0
  124. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +89 -0
  125. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +70 -0
  126. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +43 -0
  127. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +55 -0
  128. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +191 -0
  129. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +139 -0
  130. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +188 -0
  131. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +196 -0
  132. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +39 -0
  133. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +23 -0
  134. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +47 -0
  135. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +19 -0
  136. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +29 -0
  137. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +107 -0
  138. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +23 -0
  139. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +77 -0
  140. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +63 -0
  141. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +85 -0
  142. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +148 -0
  143. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +395 -0
  144. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +71 -0
  145. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +30 -0
  146. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +215 -0
  147. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +152 -0
  148. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +737 -0
  149. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +291 -0
  150. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +1114 -0
  151. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +31 -0
  152. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +247 -0
  153. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +36 -0
  154. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/insecure-features.md +23 -0
  155. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +78 -0
  156. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +78 -0
  157. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +31 -0
  158. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/caps.md +56 -0
  159. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/session/index.md +23 -0
  160. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +28 -0
  161. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +66 -0
  162. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  163. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  164. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  165. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  166. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  167. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  168. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  169. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  170. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  171. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-testmuai-dark.png +0 -0
  172. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-testmuai-light.png +0 -0
  173. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +2 -0
  174. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +45 -0
  175. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  176. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  177. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-development-partner.md +34 -0
  178. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  179. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  180. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +48 -0
  181. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +40 -0
  182. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +15 -0
  183. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +132 -0
  184. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +86 -0
  185. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +141 -0
  186. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +1010 -0
  187. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +529 -0
  188. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +468 -0
  189. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +18 -0
  190. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +49 -0
  191. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +143 -0
  192. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +219 -0
  193. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +45 -0
  194. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +140 -0
  195. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +115 -0
  196. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +57 -0
  197. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +78 -0
  198. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +279 -0
  199. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +102 -0
  200. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +44 -0
  201. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +75 -0
  202. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +142 -0
  203. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +178 -0
  204. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +17 -0
  205. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +86 -0
  206. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +89 -0
  207. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +410 -0
  208. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +459 -0
  209. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +89 -0
  210. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +70 -0
  211. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +43 -0
  212. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +54 -0
  213. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +91 -0
  214. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +100 -0
  215. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +101 -0
  216. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +72 -0
  217. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +36 -0
  218. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +23 -0
  219. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +47 -0
  220. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +19 -0
  221. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +21 -0
  222. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +99 -0
  223. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +20 -0
  224. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +62 -0
  225. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +57 -0
  226. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +80 -0
  227. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +119 -0
  228. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +395 -0
  229. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +71 -0
  230. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +30 -0
  231. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +215 -0
  232. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +152 -0
  233. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +737 -0
  234. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +291 -0
  235. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +1114 -0
  236. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +31 -0
  237. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +247 -0
  238. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +36 -0
  239. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/insecure-features.md +23 -0
  240. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +78 -0
  241. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +78 -0
  242. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +31 -0
  243. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/caps.md +56 -0
  244. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/session/index.md +23 -0
  245. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +28 -0
  246. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +66 -0
  247. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
  248. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1244 -0
  249. package/src/resources/submodules/appium/packages/base-driver/README.md +15 -0
  250. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +82 -0
  251. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +182 -0
  252. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  253. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +764 -0
  254. package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
  255. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +1038 -0
  256. package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
  257. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +790 -0
  258. package/src/resources/submodules/appium/packages/driver-test-support/README.md +103 -0
  259. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +256 -0
  260. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +47 -0
  261. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +671 -0
  262. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +55 -0
  263. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +603 -0
  264. package/src/resources/submodules/appium/packages/fake-driver/README.md +7 -0
  265. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  266. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +780 -0
  267. package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
  268. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +691 -0
  269. package/src/resources/submodules/appium/packages/images-plugin/README.md +27 -0
  270. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +65 -0
  271. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +203 -0
  272. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  273. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  274. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  275. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  276. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +212 -0
  277. package/src/resources/submodules/appium/packages/logger/README.md +31 -0
  278. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +446 -0
  279. package/src/resources/submodules/appium/packages/opencv/README.md +68 -0
  280. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  281. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  282. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  283. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  284. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  285. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  286. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  287. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +610 -0
  288. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +49 -0
  289. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +209 -0
  290. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
  291. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +308 -0
  292. package/src/resources/submodules/appium/packages/schema/README.md +50 -0
  293. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +157 -0
  294. package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
  295. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +129 -0
  296. package/src/resources/submodules/appium/packages/strongbox/README.md +110 -0
  297. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1147 -0
  298. package/src/resources/submodules/appium/packages/support/README.md +161 -0
  299. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +147 -0
  300. package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
  301. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +871 -0
  302. package/src/resources/submodules/appium/packages/types/README.md +21 -0
  303. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +502 -0
  304. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
  305. package/src/resources/submodules/appium/renovate/README.md +55 -0
  306. package/src/resources/submodules/appium-skills/.github/dependabot.yml +11 -0
  307. package/src/resources/submodules/appium-skills/.github/workflows/pr-title.yml +10 -0
  308. package/src/resources/submodules/appium-skills/AGENTS.md +214 -0
  309. package/src/resources/submodules/appium-skills/LICENSE +201 -0
  310. package/src/resources/submodules/appium-skills/README.md +33 -0
  311. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/SKILL.md +66 -0
  312. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/community-search.md +51 -0
  313. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-locators.md +34 -0
  314. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/uiautomator2-session-startup.md +53 -0
  315. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-element-lookup.md +23 -0
  316. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-locators.md +16 -0
  317. package/src/resources/submodules/appium-skills/skills/appium-troubleshooting/references/xcuitest-troubleshooting.md +52 -0
  318. package/src/resources/submodules/appium-skills/skills/environment-setup-android/SKILL.md +346 -0
  319. package/src/resources/submodules/appium-skills/skills/environment-setup-bundletool/SKILL.md +91 -0
  320. package/src/resources/submodules/appium-skills/skills/environment-setup-chromium/SKILL.md +260 -0
  321. package/src/resources/submodules/appium-skills/skills/environment-setup-espresso/SKILL.md +216 -0
  322. package/src/resources/submodules/appium-skills/skills/environment-setup-ffmpeg/SKILL.md +91 -0
  323. package/src/resources/submodules/appium-skills/skills/environment-setup-node/SKILL.md +128 -0
  324. package/src/resources/submodules/appium-skills/skills/environment-setup-uiautomator2/SKILL.md +225 -0
  325. package/src/resources/submodules/appium-skills/skills/environment-setup-xcuitest/SKILL.md +153 -0
  326. package/src/resources/submodules/appium-skills/skills/xcuitest-real-device-config/SKILL.md +488 -0
  327. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1506 -0
  328. package/src/resources/submodules/appium-uiautomator2-driver/README.md +2253 -0
  329. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +72 -0
  330. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +47 -0
  331. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +69 -0
  332. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +352 -0
  333. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-multiwindow.md +872 -0
  334. package/src/resources/submodules/appium-uiautomator2-driver/docs/architecture.md +34 -0
  335. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +50 -0
  336. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +136 -0
  337. package/src/resources/submodules/appium-uiautomator2-driver/docs/mjpeg.md +111 -0
  338. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +155 -0
  339. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +51 -0
  340. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +95 -0
  341. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  342. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  343. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  344. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  345. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  346. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +4 -0
  347. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +3373 -0
  348. package/src/resources/submodules/appium-xcuitest-driver/README.md +55 -0
  349. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  350. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  351. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  352. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +45 -0
  353. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +61 -0
  354. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +95 -0
  355. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/device-setup.md +81 -0
  356. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/index.md +36 -0
  357. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/installation.md +38 -0
  358. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/check-prov-prof.png +0 -0
  359. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-new-project.png +0 -0
  360. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/create-single-page.png +0 -0
  361. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/no-prov-prof.png +0 -0
  362. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/project-prov-prof.png +0 -0
  363. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/set-up-bundle.png +0 -0
  364. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/untrusted-dev.png +0 -0
  365. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-bundle-id.png +0 -0
  366. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-config.png +0 -0
  367. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-fail.png +0 -0
  368. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/assets/images/xcode-facebook-succeed.png +0 -0
  369. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/auto-config.md +54 -0
  370. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/basic-manual-config.md +40 -0
  371. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/full-manual-config.md +49 -0
  372. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/generic-device-config.md +75 -0
  373. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/provisioning-profile/index.md +117 -0
  374. package/src/resources/submodules/appium-xcuitest-driver/docs/getting-started/system-requirements.md +131 -0
  375. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  376. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  377. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  378. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +43 -0
  379. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +78 -0
  380. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/biometric-auth.md +29 -0
  381. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +169 -0
  382. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +47 -0
  383. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +47 -0
  384. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +147 -0
  385. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +55 -0
  386. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +137 -0
  387. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +67 -0
  388. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +20 -0
  389. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/mjpeg.md +98 -0
  390. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +37 -0
  391. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +39 -0
  392. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/remotexpc-tunnels-real-devices.md +148 -0
  393. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +147 -0
  394. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +177 -0
  395. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +246 -0
  396. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
  397. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
  398. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +137 -0
  399. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  400. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +192 -0
  401. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +164 -0
  402. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +468 -0
  403. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +157 -0
  404. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/env-vars.md +18 -0
  405. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2269 -0
  406. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +196 -0
  407. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +107 -0
  408. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +555 -0
  409. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +28 -0
  410. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +19 -0
  411. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +467 -0
  412. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/xpath-extensions.md +167 -0
  413. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/element-lookup.md +202 -0
  414. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/index.md +204 -0
  415. package/src/resources/submodules/appium-xcuitest-driver/docs/troubleshooting/wda-slowness.md +206 -0
  416. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  417. package/src/resources/submodules.zip +0 -0
@@ -0,0 +1,488 @@
1
+ ---
2
+ name: "xcuitest-real-device-config"
3
+ description: "Prepare a real iOS/tvOS device for Appium XCUITest automation: device trust, Developer Mode, provisioning profile, WDA code-signing and deployment patterns"
4
+ metadata:
5
+ last_modified: "Fri, 13 Mar 2026 22:30:00 GMT"
6
+
7
+ ---
8
+ # xcuitest-real-device-config
9
+
10
+ ## Goal
11
+ Prepares a physical iOS/tvOS device to run Appium XCUITest sessions by configuring
12
+ device trust and security settings, building or downloading a properly signed
13
+ WebDriverAgent (WDA) package, verifying its code signature, and optionally configuring
14
+ faster WDA deployment patterns (preinstalled, prebuilt, or attach-to-running).
15
+
16
+ ## Decision Logic
17
+ - If host OS is not macOS: stop and tell the user this skill is macOS-only.
18
+ - If `environment-setup-xcuitest` has not been completed: require it first.
19
+ - Before Option 2/3 signing steps, collect user inputs for bundle/team:
20
+ - Free Apple ID: use a bundle ID that Xcode has already accepted for that Apple ID.
21
+ - Paid Apple Developer: ask for the expected bundle ID and team ID used by their org.
22
+ - WDA preparation (step 4) — try in priority order and stop at the first that succeeds:
23
+ 1. Download a prebuilt WDA package from the GitHub releases page and sign with [`resigner`](https://github.com/appium/resigner) — handles profile embedding, optional bundle ID remapping, and signing in one step for any account type.
24
+ 2. Build WDA with `xcodebuild` passing explicit `PRODUCT_BUNDLE_IDENTIFIER`, `DEVELOPMENT_TEAM`, and `CODE_SIGN_IDENTITY` settings.
25
+ 3. Build WDA via Xcode UI (`appium driver run xcuitest open-wda`) as a last resort.
26
+ - Run `appium driver run xcuitest open-wda` only for Option 3 (Xcode UI); skip for Options 1 and 2.
27
+ - After any build by Xcode or xcodebuild on iOS/tvOS 17+: remove `Frameworks/` files, then re-sign before verifying.
28
+ - For iOS/tvOS 17+, use the framework-removed and re-signed `.app` for Step 6/7 runtime checks; otherwise WDA may install but fail to launch.
29
+ - After any WDA preparation: always verify the signature with `codesign --verify --deep --strict` (step 5) before deploying.
30
+ - If a downloaded WDA package has no embedded provisioning profile: use `resigner` which handles profile embedding, optional bundle ID remapping, and signing in one step.
31
+ - For free-account or enterprise-profile setups where first launch may be blocked by trust prompts, install and trust a sample app signed with the same provisioning profile before launching WDA.
32
+ - For iOS/iPadOS 16+ without reliable internet: use an offline provisioning profile (see note in step 4, Option 1).
33
+ - WDA deployment pattern is optional and user-driven; the default uses `xcodebuild` every session:
34
+ - For faster session start if WDA can remain installed between sessions → Run Preinstalled WDA (`appium:usePreinstalledWDA`).
35
+ - For faster session start using a pre-built package (no xcodebuild at session time) → Run Prebuilt WDA (`appium:prebuiltWDAPath`).
36
+ - For fully self-managed WDA lifecycle → Attach to Running WDA (`appium:webDriverAgentUrl`).
37
+ - Ask before installing optional 3rd-party device tools (ios-deploy, go-ios, pymobiledevice3, tidevice).
38
+
39
+ ## Instructions
40
+
41
+ 1. **Verify prerequisite: environment-setup-xcuitest completed**
42
+ ```bash
43
+ appium -v
44
+ appium driver list --installed --json || appium driver list --installed
45
+ ```
46
+ Confirm `xcuitest` appears in the installed driver list before continuing. If it is
47
+ missing, complete `environment-setup-xcuitest` first.
48
+
49
+ 2. **Connect device and confirm visibility**
50
+ - Connect the device to the Mac via USB.
51
+ - If prompted on the device, tap **Trust** to trust the connected computer.
52
+ - Confirm the device is visible:
53
+ ```bash
54
+ xcrun xctrace list devices
55
+ ```
56
+ The output should include the connected device with its UDID. Record the UDID for
57
+ use in Appium capabilities.
58
+ - Opening Xcode after connecting also mounts the developer disk image automatically,
59
+ which is required for launching XCTest sessions.
60
+
61
+ 3. **Enable Developer Mode and required settings (iOS/iPadOS 16 and above)**
62
+ - On the device: **Settings → Privacy & Security → Developer Mode** → enable.
63
+ Restart if prompted.
64
+ - After restart: **Settings → Developer → Enable UI Automation** → enable.
65
+ - For Webview testing (optional): **Settings → Safari → Advanced → Web Inspector** and
66
+ **Settings → Safari → Advanced → Remote Automation** → both on.
67
+ - CLI alternative to trigger Developer Mode (macOS 13+ with a tethered device):
68
+ ```bash
69
+ devmodectl streaming
70
+ ```
71
+
72
+ 4. **Prepare WDA**
73
+ Build or obtain a properly signed `WebDriverAgentRunner-Runner.app` before running
74
+ any Appium session. Try the options below in priority order and stop at the first
75
+ that succeeds.
76
+
77
+ If `APPIUM_HOME` is set, use it. Otherwise fall back to `$HOME/.appium`:
78
+ ```bash
79
+ APPIUM_HOME_DIR="${APPIUM_HOME:-$HOME/.appium}"
80
+ ```
81
+
82
+ First, find the WDA version bundled with the installed XCUITest driver — use the
83
+ same version when choosing Option 1 or 2:
84
+ ```bash
85
+ cat "$APPIUM_HOME_DIR"/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/package.json | grep '"version"'
86
+ ```
87
+ Also list available signing identities for use in all options below:
88
+ ```bash
89
+ security find-identity -v -p codesigning
90
+ ```
91
+ Note the identity string (e.g. `"Apple Development: you@example.com (TEAMID)"`).
92
+
93
+ ---
94
+
95
+ **Option 1 (primary) — Download prebuilt WDA from GitHub releases**
96
+
97
+ The [WebDriverAgent releases page](https://github.com/appium/WebDriverAgent/releases)
98
+ provides prebuilt `.app` packages for real devices. These are built without embedded
99
+ XCTest frameworks (safe for iOS 17+) and have no embedded provisioning profile;
100
+ they must be signed with your own identity before use.
101
+
102
+ Download [`resigner`](https://github.com/appium/resigner) from its
103
+ [releases page](https://github.com/appium/resigner/releases). It handles profile
104
+ embedding, optional bundle ID remapping, and signing in one step for any account type.
105
+ Select the archive that matches the host machine architecture:
106
+ ```bash
107
+ ARCH="$(uname -m)"
108
+ case "$ARCH" in
109
+ arm64) RESIGNER_ARCHIVE="darwin-arm64.tar.gz" ;;
110
+ x86_64) RESIGNER_ARCHIVE="darwin-amd64.tar.gz" ;;
111
+ *) echo "Unsupported macOS arch: $ARCH"; exit 1 ;;
112
+ esac
113
+
114
+ tar xzf "$RESIGNER_ARCHIVE"
115
+ # binary is at: darwin-*/resigner
116
+ ```
117
+
118
+ Export your signing certificate as a `.p12`. Use either method:
119
+
120
+ **GUI (Keychain Access):** locate your Apple Development certificate (the one with a
121
+ private key) → right-click → **Export** → choose **Personal Information Exchange
122
+ (.p12)** → set an export password.
123
+
124
+ **CLI (login keychain):**
125
+ ```bash
126
+ P12_PASS="<choose-a-password>"
127
+ security export \
128
+ -k ~/Library/Keychains/login.keychain-db \
129
+ -t identities \
130
+ -f pkcs12 \
131
+ -P "$P12_PASS" \
132
+ -o ~/sign/mysign.p12
133
+ ```
134
+
135
+ Inspect the downloaded package to confirm current bundle IDs and signing state:
136
+ ```bash
137
+ WDA_APP="/path/to/downloaded/WebDriverAgentRunner-Runner.app"
138
+ resigner --inspect "$WDA_APP"
139
+ ```
140
+ The prebuilt package uses `com.facebook.WebDriverAgentRunner` as its root bundle ID.
141
+
142
+ Decode your provisioning profile to confirm its allowed bundle identifier.
143
+ For free accounts (always specific-ID profiles), the output includes a `TEAMID.`
144
+ prefix and you must strip it to get `TARGET_BUNDLE_ID`. For paid accounts, do this
145
+ strip step only when using a specific-ID profile; if using `*`, `TARGET_BUNDLE_ID`
146
+ is not needed because remap flags are omitted.
147
+ ```bash
148
+ PROFILES_DIR="/path/to/profiles-directory" # resigner --profile takes a directory
149
+ security cms -D -i "$PROFILES_DIR/<profile>.mobileprovision" > /tmp/profile.plist
150
+ # output example: TEAMID1234.com.example.wda -> TARGET_BUNDLE_ID=com.example.wda
151
+ /usr/libexec/PlistBuddy -c "Print :Entitlements:application-identifier" /tmp/profile.plist
152
+ /usr/libexec/PlistBuddy -c "Print :ExpirationDate" /tmp/profile.plist
153
+
154
+ APP_ID=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:application-identifier" /tmp/profile.plist)
155
+ TARGET_BUNDLE_ID="${APP_ID#*.}" # remove TEAMID. prefix if present
156
+ ```
157
+
158
+ Run `resigner` to embed the profile and sign. `--profile` accepts a **directory**
159
+ path; resigner selects the matching profile automatically. Include `--bundle-id-remap`
160
+ flags only when your profile app identifier is not a true wildcard (`*`):
161
+ ```bash
162
+ TARGET_BUNDLE_ID="<bundle-id-covered-by-your-profile>" # strip the TEAMID. prefix
163
+ # Omit the --bundle-id-remap lines ONLY if your profile app identifier is exactly `*`
164
+ # Partial wildcards (e.g. io.appium.* or com.example.*) still require --bundle-id-remap
165
+
166
+ resigner \
167
+ --p12-file "<path-to-your.p12>" \
168
+ --p12-password "<p12-password>" \
169
+ --profile "$PROFILES_DIR" \
170
+ --force \
171
+ --bundle-id-remap "com.facebook.WebDriverAgentRunner=${TARGET_BUNDLE_ID}" \
172
+ --bundle-id-remap "com.facebook.WebDriverAgentRunner.xctrunner=${TARGET_BUNDLE_ID}" \
173
+ --bundle-id-remap "com.facebook.WebDriverAgentLib=${TARGET_BUNDLE_ID}" \
174
+ "$WDA_APP"
175
+ ```
176
+ After `resigner` completes, the package is already signed; proceed directly to step 5 to verify.
177
+
178
+ Validate the result before install:
179
+ ```bash
180
+ codesign --verify --deep --strict --verbose=2 "$WDA_APP"
181
+ ```
182
+
183
+ If install fails with `ApplicationVerificationFailed` / `A valid provisioning profile
184
+ for this executable was not found`, the profile does not cover the current bundle ID
185
+ and device UDID. Regenerate the profile and re-sign.
186
+
187
+ Provisioning profile notes:
188
+ - A true wildcard profile (`*` app identifier) covers any bundle ID and requires a
189
+ paid Apple Developer account — no `--bundle-id-remap` flags needed.
190
+ - Partial wildcards (e.g. `io.appium.*`) and all specific-ID profiles (free account
191
+ or paid account without a `*` profile) require the `--bundle-id-remap` flags.
192
+ - Free-account profiles generated by Xcode are typically under
193
+ `~/Library/Developer/Xcode/UserData/Provisioning Profiles/`.
194
+ - System-cached profiles from manual downloads are under
195
+ `~/Library/MobileDevice/Provisioning Profiles/`.
196
+ - **Expired profiles are rejected** by `resigner` as "not usable".
197
+ - Always confirm profile validity before running:
198
+ ```bash
199
+ security cms -D -i "$PROFILES_DIR/<profile>.mobileprovision" > /tmp/profile.plist
200
+ /usr/libexec/PlistBuddy -c "Print :ExpirationDate" /tmp/profile.plist
201
+ date
202
+ ```
203
+
204
+ > **Offline note (iOS 16+):** If the device has no reliable internet at test time,
205
+ > set up an offline provisioning profile first. Follow the steps in the
206
+ > [Appium issue comment](https://github.com/appium/appium/issues/18378#issuecomment-1482678074).
207
+
208
+ > **Fast prebuilt workflow (verified):** Use `resigner --inspect` first to get the
209
+ > source bundle IDs (`com.facebook.WebDriverAgentRunner*`), then derive
210
+ > `TARGET_BUNDLE_ID` from the non-expired provisioning profile's
211
+ > `Entitlements:application-identifier` (strip `TEAMID.`). Remap all WDA bundle IDs
212
+ > to that exact target ID and sign in one run.
213
+ >
214
+ > If re-signing fails with "unable to find usable provisioning profile", the usual
215
+ > causes are: expired profile, profile not matching the remapped target ID, or team/
216
+ > certificate mismatch.
217
+
218
+ Proceed to step 5 to verify the signature.
219
+
220
+ ---
221
+
222
+ **Option 2 — Build WDA with xcodebuild using explicit signing settings**
223
+
224
+ Use when a prebuilt release package does not match the required version, or when a
225
+ custom bundle ID is needed. Pass signing settings directly as `xcodebuild` arguments:
226
+
227
+ Before running `xcodebuild`, collect these inputs from the user:
228
+ - `BUNDLE_ID`
229
+ - `DEVELOPMENT_TEAM`
230
+ - account type (free Apple ID or paid Apple Developer)
231
+
232
+ How to choose `BUNDLE_ID`:
233
+ - Free Apple ID: use a bundle ID that Xcode already accepted for that Apple ID
234
+ (for example, from the temporary app project created in Option 3b), then append
235
+ `WebDriverAgentRunner` naming as needed.
236
+ - Paid Apple Developer: ask the user for the expected production/testing bundle ID
237
+ and matching team ID for their org.
238
+ - Do not hardcode personal prefixes (for example, `com.example.personal`) in reusable docs;
239
+ treat those as environment-specific examples only.
240
+
241
+ ```bash
242
+ BUNDLE_ID="<user-provided.bundle.id>"
243
+ # Prefer deriving values from the selected profile for repeatable automation:
244
+ # PROFILE_PATH="/path/to/<profile>.mobileprovision"
245
+ # security cms -D -i "$PROFILE_PATH" > /tmp/profile.plist
246
+ # DEVELOPMENT_TEAM=$(/usr/libexec/PlistBuddy -c "Print :TeamIdentifier:0" /tmp/profile.plist)
247
+ # APP_ID=$(/usr/libexec/PlistBuddy -c "Print :Entitlements:application-identifier" /tmp/profile.plist)
248
+ # BUNDLE_ID="${APP_ID#*.}" # remove TEAMID. prefix if present
249
+
250
+ DEVELOPMENT_TEAM="<USER_TEAM_ID>" # 10-character team ID from the user's Apple account
251
+ SIGN_ID="Apple Development" # or the full identity string from security find-identity
252
+
253
+ # Must: inspect the selected certificate subject and OU
254
+ # security find-certificate -c "Apple Development: you@example.com" -p | openssl x509 -noout -subject
255
+ # subject=UID=UID, CN=Apple Development: you@example.com (TEAMID), OU=TEAMID, O=your name, C=US
256
+
257
+ # iOS/iPadOS
258
+ xcodebuild clean build-for-testing \
259
+ -project "$APPIUM_HOME_DIR"/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj \
260
+ -derivedDataPath appium_wda_ios \
261
+ -scheme WebDriverAgentRunner \
262
+ -destination generic/platform=iOS \
263
+ -allowProvisioningUpdates \
264
+ -allowProvisioningDeviceRegistration \
265
+ PRODUCT_BUNDLE_IDENTIFIER="$BUNDLE_ID" \
266
+ DEVELOPMENT_TEAM="$DEVELOPMENT_TEAM" \
267
+ CODE_SIGN_IDENTITY="$SIGN_ID"
268
+
269
+ # tvOS
270
+ xcodebuild clean build-for-testing \
271
+ -project "$APPIUM_HOME_DIR"/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj \
272
+ -derivedDataPath appium_wda_tvos \
273
+ -scheme WebDriverAgentRunner_tvOS \
274
+ -destination generic/platform=tvOS \
275
+ -allowProvisioningUpdates \
276
+ -allowProvisioningDeviceRegistration \
277
+ PRODUCT_BUNDLE_IDENTIFIER="$BUNDLE_ID" \
278
+ DEVELOPMENT_TEAM="$DEVELOPMENT_TEAM" \
279
+ CODE_SIGN_IDENTITY="$SIGN_ID"
280
+ ```
281
+
282
+ If `xcodebuild` fails with `No Account for Team` or profile-not-found errors:
283
+ - Ensure the Apple account is signed into Xcode for that team.
284
+ - Confirm the provided `DEVELOPMENT_TEAM` matches the effective certificate team actually used
285
+ for signing (for example, `TeamIdentifier` shown by `codesign -dv --verbose=4`).
286
+ - Retry with the corrected team value.
287
+
288
+ The built package will be at:
289
+ ```
290
+ appium_wda_ios/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app
291
+ ```
292
+
293
+ **iOS 17+ / tvOS 17+:** The package embeds XCTest runtime artifacts that must be
294
+ removed before the device can launch WDA with its own local XCTest runtime. After
295
+ the build, remove the same artifacts as the GitHub release package and re-sign:
296
+ ```bash
297
+ WDA_APP="appium_wda_ios/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app"
298
+
299
+ rm -rf "$WDA_APP"/Frameworks/XC*.framework
300
+ rm -f "$WDA_APP"/Frameworks/Testing.framework
301
+ rm -f "$WDA_APP"/Frameworks/libXCTestSwiftSupport.dylib
302
+
303
+ # Re-sign with the same identity used during build
304
+ codesign --force --sign "$SIGN_ID" "$WDA_APP"
305
+ ```
306
+
307
+ Proceed to step 5 to verify the signature.
308
+
309
+ ---
310
+
311
+ **Option 3 (Xcode UI fallback) — Build WDA via Xcode**
312
+
313
+ Use this when the prebuilt release is unavailable and xcodebuild signing fails.
314
+ Open the WDA project in Xcode:
315
+ ```bash
316
+ appium driver run xcuitest open-wda
317
+ ```
318
+ Then choose the signing sub-option that matches your Apple Developer account:
319
+
320
+ **Option 3a — Automatic signing (paid Apple Developer account)**
321
+ - Select `WebDriverAgentRunner` target → Signing & Capabilities.
322
+ - Check **Automatically manage signing** and select your paid team.
323
+ - Build and install: **Product → Test** on the connected device.
324
+
325
+ **Option 3b — Free Apple ID**
326
+ - Create a new temporary iOS app project in Xcode; let Xcode generate a provisioning
327
+ profile for a bundle ID your free account covers.
328
+ - Back in the WDA project, select `WebDriverAgentRunner` target, set the bundle ID to
329
+ the one Xcode accepted, sign with your free team.
330
+ - Build and install: **Product → Test** on the connected device.
331
+
332
+ **Option 3c — Manual bundle assignment**
333
+ In the WDA source root:
334
+ ```bash
335
+ mkdir -p Resources/WebDriverAgent.bundle
336
+ ```
337
+ - In Xcode: select root project → `WebDriverAgentRunner` target → Signing & Capabilities.
338
+ - Change `com.facebook.WebDriverAgentRunner` to a bundle ID covered by your profile.
339
+ - Build and install: **Product → Test** on the connected device.
340
+
341
+ **iOS 17+ / tvOS 17+ (all Option 3 sub-options):**
342
+ The Xcode-built package contains the same XCTest runtime artifacts as other WDA
343
+ bundles. Remove `Frameworks/XC*.framework`, `Frameworks/Testing.framework`, and
344
+ `Frameworks/libXCTestSwiftSupport.dylib`, then re-sign before installation:
345
+ ```bash
346
+ WDA_APP=~/Library/Developer/Xcode/DerivedData/WebDriverAgent-*/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app
347
+
348
+ rm -rf "$WDA_APP"/Frameworks/XC*.framework
349
+ rm -f "$WDA_APP"/Frameworks/Testing.framework
350
+ rm -f "$WDA_APP"/Frameworks/libXCTestSwiftSupport.dylib
351
+
352
+ SIGNING_IDENTITY="Apple Development: you@example.com (TEAMID)"
353
+ codesign --force --sign "$SIGNING_IDENTITY" "$WDA_APP"
354
+ ```
355
+
356
+ Proceed to step 5 to verify the signature.
357
+
358
+ 5. **Verify WDA signature**
359
+ Run the following checks on the prepared `.app` before deploying it to the device.
360
+ Removing any file from a signed bundle invalidates the Code Directory hash, so this
361
+ check catches both a bad re-sign and a bundle that was never signed:
362
+ ```bash
363
+ WDA_APP="/path/to/WebDriverAgentRunner-Runner.app"
364
+
365
+ # Verify signature recursively with strict checking
366
+ codesign --verify --deep --strict --verbose=2 "$WDA_APP"
367
+
368
+ # Inspect signing details (team, bundle ID, entitlements)
369
+ codesign -dv --verbose=4 "$WDA_APP"
370
+ ```
371
+ A valid result produces:
372
+ ```
373
+ WebDriverAgentRunner-Runner.app: valid on disk
374
+ WebDriverAgentRunner-Runner.app: satisfies its Designated Requirement
375
+ ```
376
+ If `codesign --verify` exits non-zero or reports `invalid`, return to step 4 and
377
+ re-sign or rebuild the bundle.
378
+
379
+ **Common install-time errors and fixes:**
380
+ - `xcodebuild exited with code '65'` → code signing is misconfigured; redo step 4.
381
+ - `Unable to launch … invalid code signature / inadequate entitlements / profile not trusted`
382
+ → The developer is not yet trusted on the device.
383
+ On the device: **Settings → General → VPN & Device Management** → select the
384
+ development team → **Trust**. Then retry.
385
+
386
+ **Recommendation (free account / enterprise profile):**
387
+ Before first WDA launch, install a small sample app signed with the same
388
+ provisioning profile/certificate, launch it once, and complete all trust prompts.
389
+ This pre-trust step reduces WDA launch blocking on first run.
390
+
391
+ 6. **Run Appium XCUITest with Prepared WDA** *(choose one mode only)*
392
+ Use one mode below as an example. Do not run all modes.
393
+
394
+ **Mode A — Reuse preinstalled WDA**
395
+ Install WDA once and reuse it across sessions without running `xcodebuild` each time.
396
+ ```json
397
+ {
398
+ "platformName": "ios",
399
+ "appium:automationName": "xcuitest",
400
+ "appium:udid": "<device-udid>",
401
+ "appium:usePreinstalledWDA": true,
402
+ "appium:updatedWDABundleId": "com.yourteam.WebDriverAgentRunner"
403
+ }
404
+ ```
405
+ Notes:
406
+ - For free-account or enterprise-profile setups, complete the step 5 pre-trust
407
+ recommendation first.
408
+ - If launch fails with repeated `ECONNREFUSED 127.0.0.1:8100`, rebuild from the
409
+ iOS/tvOS 17+ flow in step 4 (`rm -rf Frameworks/` + re-sign), reinstall, then retry.
410
+ - If the installed WDA bundle ID has no `.xctrunner` suffix:
411
+ ```json
412
+ {
413
+ "appium:usePreinstalledWDA": true,
414
+ "appium:updatedWDABundleId": "io.appium.wda",
415
+ "appium:updatedWDABundleIdSuffix": ""
416
+ }
417
+ ```
418
+
419
+ **Mode B — Use prebuilt WDA app/xctestrun artifacts**
420
+ Skip build work at session time by using previously prepared artifacts.
421
+
422
+ Option B1: Signed `.app` artifact
423
+ ```json
424
+ {
425
+ "platformName": "ios",
426
+ "appium:automationName": "xcuitest",
427
+ "appium:udid": "<device-udid>",
428
+ "appium:usePreinstalledWDA": true,
429
+ "appium:prebuiltWDAPath": "/path/to/signed/WebDriverAgentRunner-Runner.app"
430
+ }
431
+ ```
432
+
433
+ Option B2: `.xctestrun` artifact
434
+ ```json
435
+ {
436
+ "platformName": "ios",
437
+ "appium:automationName": "xcuitest",
438
+ "appium:udid": "<device-udid>",
439
+ "appium:useXctestrunFile": true,
440
+ "appium:bootstrapPath": "/abs/path/to/appium_wda_ios/Build/Products"
441
+ }
442
+ ```
443
+ If Appium expects `WebDriverAgentRunner_iphoneos-arm64.xctestrun` but build output
444
+ is SDK-suffixed, copy/rename it to the expected filename in the same directory.
445
+
446
+ **Mode C — Attach to already running WDA**
447
+ Start WDA externally (Xcode/xcodebuild/tooling), then point Appium at it.
448
+ ```json
449
+ {
450
+ "platformName": "ios",
451
+ "appium:automationName": "xcuitest",
452
+ "appium:udid": "<device-udid>",
453
+ "appium:webDriverAgentUrl": "http://<device-ip-or-localhost>:8100"
454
+ }
455
+ ```
456
+ If the remote WDA port differs from local forwarding, add `appium:wdaRemotePort`.
457
+
458
+ **Skill report requirement:**
459
+ - In the final skill report, print at least one copy-paste-ready capabilities JSON
460
+ snippet for the mode that was validated.
461
+ - Include one additional capabilities snippet as a fallback hint (for example,
462
+ preinstalled mode and attach mode).
463
+
464
+ ## Constraints
465
+ - This skill is macOS-only; do not provide Linux/Windows alternatives.
466
+ - `environment-setup-xcuitest` must be completed before starting this skill.
467
+ - Always verify the WDA signature with `codesign --verify --deep --strict` (step 5)
468
+ after any preparation step before deploying.
469
+ - Never skip re-signing after modifying a signed `.app` bundle (e.g. removing frameworks).
470
+ - Paid-account-only steps (automatic signing, wildcard profiles) must be clearly marked;
471
+ do not require them from users with a free Apple ID.
472
+ - Ask the user before installing any 3rd-party device tool (ios-deploy, go-ios,
473
+ pymobiledevice3, tidevice, ios-app-signer, etc.).
474
+ - For steps that require physical interaction with the device (Trust popup, Developer
475
+ Mode toggle), pause and provide the exact on-device instruction.
476
+ - Step 6 contains optional runtime modes; validate one mode only. The default
477
+ xcodebuild-per-session flow is still valid.
478
+
479
+ ## Agent completion criteria
480
+ Mark the skill complete only when all of the following are true:
481
+ - Connected device is visible in `xcrun xctrace list devices` output.
482
+ - A signed WDA `.app` has been prepared using one of the Options in step 4.
483
+ - `codesign --verify --deep --strict` on the prepared WDA exits cleanly (step 5 passes).
484
+ - At least one WDA runtime mode from step 6 is confirmed working (or default
485
+ xcodebuild-per-session install succeeds).
486
+ - Final skill report includes capability hints:
487
+ - one copy-paste JSON capabilities snippet for the validated mode, and
488
+ - one additional fallback snippet.