appium-mcp 0.0.1 → 1.1.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 (585) hide show
  1. package/.github/workflows/ci.yml +37 -0
  2. package/.github/workflows/pr-title.yml +15 -0
  3. package/.github/workflows/publish.yml +31 -0
  4. package/.gitmodules +9 -0
  5. package/.prettierignore +29 -0
  6. package/.prettierrc +10 -0
  7. package/.releaserc +37 -0
  8. package/CHANGELOG.md +37 -0
  9. package/LICENSE +21 -0
  10. package/README.md +153 -0
  11. package/dist/devicemanager/adb-manager.d.ts +71 -0
  12. package/dist/devicemanager/adb-manager.js +140 -0
  13. package/dist/devicemanager/adb-manager.js.map +1 -0
  14. package/dist/devicemanager/ios-manager.d.ts +58 -0
  15. package/dist/devicemanager/ios-manager.js +122 -0
  16. package/dist/devicemanager/ios-manager.js.map +1 -0
  17. package/dist/index.d.ts +2 -0
  18. package/dist/index.js +40 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/locators/element-filter.d.ts +13 -0
  21. package/dist/locators/element-filter.js +79 -0
  22. package/dist/locators/element-filter.js.map +1 -0
  23. package/dist/locators/generate-all-locators.d.ts +21 -0
  24. package/dist/locators/generate-all-locators.js +72 -0
  25. package/dist/locators/generate-all-locators.js.map +1 -0
  26. package/dist/locators/locator-generation.d.ts +36 -0
  27. package/dist/locators/locator-generation.js +501 -0
  28. package/dist/locators/locator-generation.js.map +1 -0
  29. package/dist/locators/logger.d.ts +5 -0
  30. package/dist/locators/logger.js +9 -0
  31. package/dist/locators/logger.js.map +1 -0
  32. package/dist/locators/source-parsing.d.ts +43 -0
  33. package/dist/locators/source-parsing.js +100 -0
  34. package/dist/locators/source-parsing.js.map +1 -0
  35. package/dist/resources/index.d.ts +1 -0
  36. package/dist/resources/index.js +7 -0
  37. package/dist/resources/index.js.map +1 -0
  38. package/dist/resources/java/template.d.ts +4 -0
  39. package/dist/resources/java/template.js +82 -0
  40. package/dist/resources/java/template.js.map +1 -0
  41. package/dist/schema.d.ts +2 -0
  42. package/dist/schema.js +5 -0
  43. package/dist/schema.js.map +1 -0
  44. package/dist/scripts/simple-index-documentation.d.ts +20 -0
  45. package/dist/scripts/simple-index-documentation.js +77 -0
  46. package/dist/scripts/simple-index-documentation.js.map +1 -0
  47. package/dist/scripts/simple-query-documentation.d.ts +12 -0
  48. package/dist/scripts/simple-query-documentation.js +52 -0
  49. package/dist/scripts/simple-query-documentation.js.map +1 -0
  50. package/dist/server.d.ts +3 -0
  51. package/dist/server.js +37 -0
  52. package/dist/server.js.map +1 -0
  53. package/dist/tests/__mocks__/@appium/support.d.ts +21 -0
  54. package/dist/tests/__mocks__/@appium/support.js +30 -0
  55. package/dist/tests/__mocks__/@appium/support.js.map +1 -0
  56. package/dist/tests/generate-all-locators.test.d.ts +1 -0
  57. package/dist/tests/generate-all-locators.test.js +140 -0
  58. package/dist/tests/generate-all-locators.test.js.map +1 -0
  59. package/dist/tests/test-setup-wda.d.ts +1 -0
  60. package/dist/tests/test-setup-wda.js +202 -0
  61. package/dist/tests/test-setup-wda.js.map +1 -0
  62. package/dist/tools/answer-appium.d.ts +1 -0
  63. package/dist/tools/answer-appium.js +71 -0
  64. package/dist/tools/answer-appium.js.map +1 -0
  65. package/dist/tools/boot-simulator.d.ts +1 -0
  66. package/dist/tools/boot-simulator.js +71 -0
  67. package/dist/tools/boot-simulator.js.map +1 -0
  68. package/dist/tools/create-session.d.ts +1 -0
  69. package/dist/tools/create-session.js +192 -0
  70. package/dist/tools/create-session.js.map +1 -0
  71. package/dist/tools/delete-session.d.ts +1 -0
  72. package/dist/tools/delete-session.js +47 -0
  73. package/dist/tools/delete-session.js.map +1 -0
  74. package/dist/tools/documentation/index.d.ts +28 -0
  75. package/dist/tools/documentation/index.js +63 -0
  76. package/dist/tools/documentation/index.js.map +1 -0
  77. package/dist/tools/documentation/reasoning-rag.d.ts +88 -0
  78. package/dist/tools/documentation/reasoning-rag.js +281 -0
  79. package/dist/tools/documentation/reasoning-rag.js.map +1 -0
  80. package/dist/tools/documentation/sentence-transformers-embeddings.d.ts +34 -0
  81. package/dist/tools/documentation/sentence-transformers-embeddings.js +111 -0
  82. package/dist/tools/documentation/sentence-transformers-embeddings.js.map +1 -0
  83. package/dist/tools/documentation/simple-pdf-indexer.d.ts +45 -0
  84. package/dist/tools/documentation/simple-pdf-indexer.js +402 -0
  85. package/dist/tools/documentation/simple-pdf-indexer.js.map +1 -0
  86. package/dist/tools/documentation/uploads/documents.json +1 -0
  87. package/dist/tools/generate-tests.d.ts +2 -0
  88. package/dist/tools/generate-tests.js +46 -0
  89. package/dist/tools/generate-tests.js.map +1 -0
  90. package/dist/tools/index.d.ts +16 -0
  91. package/dist/tools/index.js +112 -0
  92. package/dist/tools/index.js.map +1 -0
  93. package/dist/tools/install-wda.d.ts +1 -0
  94. package/dist/tools/install-wda.js +219 -0
  95. package/dist/tools/install-wda.js.map +1 -0
  96. package/dist/tools/interactions/activate-app.d.ts +2 -0
  97. package/dist/tools/interactions/activate-app.js +44 -0
  98. package/dist/tools/interactions/activate-app.js.map +1 -0
  99. package/dist/tools/interactions/click.d.ts +2 -0
  100. package/dist/tools/interactions/click.js +45 -0
  101. package/dist/tools/interactions/click.js.map +1 -0
  102. package/dist/tools/interactions/double-tap.d.ts +2 -0
  103. package/dist/tools/interactions/double-tap.js +81 -0
  104. package/dist/tools/interactions/double-tap.js.map +1 -0
  105. package/dist/tools/interactions/find.d.ts +13 -0
  106. package/dist/tools/interactions/find.js +55 -0
  107. package/dist/tools/interactions/find.js.map +1 -0
  108. package/dist/tools/interactions/get-text.d.ts +2 -0
  109. package/dist/tools/interactions/get-text.js +45 -0
  110. package/dist/tools/interactions/get-text.js.map +1 -0
  111. package/dist/tools/interactions/install-app.d.ts +2 -0
  112. package/dist/tools/interactions/install-app.js +43 -0
  113. package/dist/tools/interactions/install-app.js.map +1 -0
  114. package/dist/tools/interactions/list-apps.d.ts +2 -0
  115. package/dist/tools/interactions/list-apps.js +59 -0
  116. package/dist/tools/interactions/list-apps.js.map +1 -0
  117. package/dist/tools/interactions/screenshot.d.ts +2 -0
  118. package/dist/tools/interactions/screenshot.js +49 -0
  119. package/dist/tools/interactions/screenshot.js.map +1 -0
  120. package/dist/tools/interactions/set-value.d.ts +2 -0
  121. package/dist/tools/interactions/set-value.js +46 -0
  122. package/dist/tools/interactions/set-value.js.map +1 -0
  123. package/dist/tools/interactions/terminate-app.d.ts +2 -0
  124. package/dist/tools/interactions/terminate-app.js +45 -0
  125. package/dist/tools/interactions/terminate-app.js.map +1 -0
  126. package/dist/tools/interactions/uninstall-app.d.ts +2 -0
  127. package/dist/tools/interactions/uninstall-app.js +45 -0
  128. package/dist/tools/interactions/uninstall-app.js.map +1 -0
  129. package/dist/tools/locators.d.ts +1 -0
  130. package/dist/tools/locators.js +71 -0
  131. package/dist/tools/locators.js.map +1 -0
  132. package/dist/tools/scroll-to-element.d.ts +1 -0
  133. package/dist/tools/scroll-to-element.js +155 -0
  134. package/dist/tools/scroll-to-element.js.map +1 -0
  135. package/dist/tools/scroll.d.ts +1 -0
  136. package/dist/tools/scroll.js +91 -0
  137. package/dist/tools/scroll.js.map +1 -0
  138. package/dist/tools/select-device.d.ts +5 -0
  139. package/dist/tools/select-device.js +222 -0
  140. package/dist/tools/select-device.js.map +1 -0
  141. package/dist/tools/select-platform.d.ts +1 -0
  142. package/dist/tools/select-platform.js +195 -0
  143. package/dist/tools/select-platform.js.map +1 -0
  144. package/dist/tools/session-store.d.ts +7 -0
  145. package/dist/tools/session-store.js +64 -0
  146. package/dist/tools/session-store.js.map +1 -0
  147. package/dist/tools/setup-wda.d.ts +1 -0
  148. package/dist/tools/setup-wda.js +177 -0
  149. package/dist/tools/setup-wda.js.map +1 -0
  150. package/docs/CONTRIBUTING.md +424 -0
  151. package/eslint.config.js +49 -0
  152. package/examples/android-gmail.md +7 -0
  153. package/examples/android-todo-app.md +9 -0
  154. package/jest.config.js +23 -0
  155. package/package.json +71 -6
  156. package/scripts/setup-submodules-sparse.sh +53 -0
  157. package/scripts/update-submodules.sh +14 -0
  158. package/src/devicemanager/adb-manager.ts +164 -0
  159. package/src/devicemanager/ios-manager.ts +145 -0
  160. package/src/index.ts +47 -0
  161. package/src/locators/element-filter.ts +134 -0
  162. package/src/locators/generate-all-locators.ts +149 -0
  163. package/src/locators/locator-generation.ts +657 -0
  164. package/src/locators/logger.ts +11 -0
  165. package/src/locators/source-parsing.ts +149 -0
  166. package/src/resources/caps.json +697 -0
  167. package/src/resources/index.ts +7 -0
  168. package/src/resources/java/template.ts +83 -0
  169. package/src/resources/submodules/appium/.github/PULL_REQUEST_TEMPLATE.md +28 -0
  170. package/src/resources/submodules/appium/CHANGELOG.md +45 -0
  171. package/src/resources/submodules/appium/CONDUCT.md +48 -0
  172. package/src/resources/submodules/appium/GOVERNANCE.md +185 -0
  173. package/src/resources/submodules/appium/IDEAS.md +16 -0
  174. package/src/resources/submodules/appium/README.md +221 -0
  175. package/src/resources/submodules/appium/ROADMAP.md +30 -0
  176. package/src/resources/submodules/appium/SPONSORS.md +3 -0
  177. package/src/resources/submodules/appium/docs/README.md +6 -0
  178. package/src/resources/submodules/appium/docs/payout.md +35 -0
  179. package/src/resources/submodules/appium/packages/appium/CHANGELOG.md +1437 -0
  180. package/src/resources/submodules/appium/packages/appium/README.md +221 -0
  181. package/src/resources/submodules/appium/packages/appium/docs/en/blog/index.md +2 -0
  182. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-appiumconf2024.md +45 -0
  183. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  184. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  185. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-lambdatest-as-strategic-partner.md +42 -0
  186. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  187. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/announcing-sponsorship-program.md +48 -0
  188. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/appium3.md +40 -0
  189. package/src/resources/submodules/appium/packages/appium/docs/en/blog/posts/hello-world.md +15 -0
  190. package/src/resources/submodules/appium/packages/appium/docs/en/contributing/index.md +150 -0
  191. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-docs.md +86 -0
  192. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-doctor-checks.md +141 -0
  193. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-drivers.md +860 -0
  194. package/src/resources/submodules/appium/packages/appium/docs/en/developing/build-plugins.md +514 -0
  195. package/src/resources/submodules/appium/packages/appium/docs/en/developing/config-system.md +451 -0
  196. package/src/resources/submodules/appium/packages/appium/docs/en/developing/index.md +18 -0
  197. package/src/resources/submodules/appium/packages/appium/docs/en/developing/sensitive.md +49 -0
  198. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/clients.md +132 -0
  199. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/drivers.md +207 -0
  200. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/index.md +45 -0
  201. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/plugins.md +138 -0
  202. package/src/resources/submodules/appium/packages/appium/docs/en/ecosystem/tools.md +83 -0
  203. package/src/resources/submodules/appium/packages/appium/docs/en/guides/branch-testing.md +57 -0
  204. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caching.md +76 -0
  205. package/src/resources/submodules/appium/packages/appium/docs/en/guides/caps.md +275 -0
  206. package/src/resources/submodules/appium/packages/appium/docs/en/guides/config.md +98 -0
  207. package/src/resources/submodules/appium/packages/appium/docs/en/guides/context.md +44 -0
  208. package/src/resources/submodules/appium/packages/appium/docs/en/guides/event-timing.md +73 -0
  209. package/src/resources/submodules/appium/packages/appium/docs/en/guides/execute-methods.md +122 -0
  210. package/src/resources/submodules/appium/packages/appium/docs/en/guides/grid.md +166 -0
  211. package/src/resources/submodules/appium/packages/appium/docs/en/guides/headers.md +17 -0
  212. package/src/resources/submodules/appium/packages/appium/docs/en/guides/log-filters.md +86 -0
  213. package/src/resources/submodules/appium/packages/appium/docs/en/guides/managing-exts.md +87 -0
  214. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-1-to-2.md +368 -0
  215. package/src/resources/submodules/appium/packages/appium/docs/en/guides/migrating-2-to-3.md +464 -0
  216. package/src/resources/submodules/appium/packages/appium/docs/en/guides/security.md +89 -0
  217. package/src/resources/submodules/appium/packages/appium/docs/en/guides/settings.md +68 -0
  218. package/src/resources/submodules/appium/packages/appium/docs/en/guides/tls.md +42 -0
  219. package/src/resources/submodules/appium/packages/appium/docs/en/index.md +59 -0
  220. package/src/resources/submodules/appium/packages/appium/docs/en/intro/appium.md +202 -0
  221. package/src/resources/submodules/appium/packages/appium/docs/en/intro/clients.md +127 -0
  222. package/src/resources/submodules/appium/packages/appium/docs/en/intro/drivers.md +188 -0
  223. package/src/resources/submodules/appium/packages/appium/docs/en/intro/history.md +196 -0
  224. package/src/resources/submodules/appium/packages/appium/docs/en/intro/index.md +39 -0
  225. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/index.md +29 -0
  226. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/install.md +50 -0
  227. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/next-steps.md +23 -0
  228. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/requirements.md +29 -0
  229. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-dotnet.md +105 -0
  230. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-java.md +23 -0
  231. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-js.md +75 -0
  232. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-py.md +60 -0
  233. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/test-rb.md +83 -0
  234. package/src/resources/submodules/appium/packages/appium/docs/en/quickstart/uiauto2-driver.md +144 -0
  235. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/appium.md +394 -0
  236. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/bidi.md +70 -0
  237. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/index.md +30 -0
  238. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/jsonwp.md +214 -0
  239. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/mjsonwp.md +151 -0
  240. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/others.md +671 -0
  241. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/plugins.md +289 -0
  242. package/src/resources/submodules/appium/packages/appium/docs/en/reference/api/webdriver.md +1114 -0
  243. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/env-vars.md +31 -0
  244. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/extensions.md +239 -0
  245. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/index.md +35 -0
  246. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/server.md +76 -0
  247. package/src/resources/submodules/appium/packages/appium/docs/en/reference/cli/setup.md +76 -0
  248. package/src/resources/submodules/appium/packages/appium/docs/en/reference/index.md +25 -0
  249. package/src/resources/submodules/appium/packages/appium/docs/en/resources/index.md +28 -0
  250. package/src/resources/submodules/appium/packages/appium/docs/en/sponsors/index.md +64 -0
  251. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/index.md +2 -0
  252. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-appiumconf2024.md +45 -0
  253. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  254. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  255. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  256. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  257. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/announcing-sponsorship-program.md +48 -0
  258. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/appium3.md +40 -0
  259. package/src/resources/submodules/appium/packages/appium/docs/ja/blog/posts/hello-world.md +15 -0
  260. package/src/resources/submodules/appium/packages/appium/docs/ja/contributing/index.md +158 -0
  261. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-docs.md +86 -0
  262. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-doctor-checks.md +141 -0
  263. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-drivers.md +866 -0
  264. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/build-plugins.md +520 -0
  265. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/config-system.md +468 -0
  266. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/index.md +18 -0
  267. package/src/resources/submodules/appium/packages/appium/docs/ja/developing/sensitive.md +49 -0
  268. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/clients.md +143 -0
  269. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/drivers.md +219 -0
  270. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/index.md +45 -0
  271. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/plugins.md +140 -0
  272. package/src/resources/submodules/appium/packages/appium/docs/ja/ecosystem/tools.md +87 -0
  273. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/branch-testing.md +57 -0
  274. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caching.md +78 -0
  275. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/caps.md +259 -0
  276. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/config.md +102 -0
  277. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/context.md +44 -0
  278. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/event-timing.md +75 -0
  279. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/execute-methods.md +142 -0
  280. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/grid.md +166 -0
  281. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/headers.md +17 -0
  282. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/log-filters.md +86 -0
  283. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/managing-exts.md +89 -0
  284. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-1-to-2.md +402 -0
  285. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/migrating-2-to-3.md +458 -0
  286. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/security.md +89 -0
  287. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/settings.md +70 -0
  288. package/src/resources/submodules/appium/packages/appium/docs/ja/guides/tls.md +43 -0
  289. package/src/resources/submodules/appium/packages/appium/docs/ja/index.md +55 -0
  290. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/appium.md +191 -0
  291. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/clients.md +139 -0
  292. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/drivers.md +188 -0
  293. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/history.md +196 -0
  294. package/src/resources/submodules/appium/packages/appium/docs/ja/intro/index.md +39 -0
  295. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/index.md +23 -0
  296. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/install.md +47 -0
  297. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/next-steps.md +19 -0
  298. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/requirements.md +29 -0
  299. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-dotnet.md +107 -0
  300. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-java.md +23 -0
  301. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-js.md +77 -0
  302. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-py.md +63 -0
  303. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/test-rb.md +85 -0
  304. package/src/resources/submodules/appium/packages/appium/docs/ja/quickstart/uiauto2-driver.md +148 -0
  305. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/appium.md +395 -0
  306. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/bidi.md +71 -0
  307. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/index.md +30 -0
  308. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/jsonwp.md +215 -0
  309. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/mjsonwp.md +152 -0
  310. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/others.md +672 -0
  311. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/plugins.md +291 -0
  312. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/api/webdriver.md +1114 -0
  313. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/env-vars.md +31 -0
  314. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/extensions.md +240 -0
  315. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/index.md +35 -0
  316. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/server.md +76 -0
  317. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/cli/setup.md +78 -0
  318. package/src/resources/submodules/appium/packages/appium/docs/ja/reference/index.md +25 -0
  319. package/src/resources/submodules/appium/packages/appium/docs/ja/resources/index.md +28 -0
  320. package/src/resources/submodules/appium/packages/appium/docs/ja/sponsors/index.md +61 -0
  321. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz-white.png +0 -0
  322. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-horiz.png +0 -0
  323. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo-white.png +0 -0
  324. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/appium-logo.png +0 -0
  325. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-dark.png +0 -0
  326. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-browserstack-light.png +0 -0
  327. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-dark.png +0 -0
  328. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-lambdatest-light.png +0 -0
  329. package/src/resources/submodules/appium/packages/appium/docs/overrides/assets/images/sponsor-logo-sauce.png +0 -0
  330. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/index.md +2 -0
  331. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-appiumconf2024.md +45 -0
  332. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-browserstack-as-strategic-partner.md +46 -0
  333. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-headspin-as-development-partner.md +47 -0
  334. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-lambdatest-as-strategic-partner.md +41 -0
  335. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sauce-labs-as-strategic-partner.md +36 -0
  336. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/announcing-sponsorship-program.md +48 -0
  337. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/appium3.md +40 -0
  338. package/src/resources/submodules/appium/packages/appium/docs/zh/blog/posts/hello-world.md +15 -0
  339. package/src/resources/submodules/appium/packages/appium/docs/zh/contributing/index.md +132 -0
  340. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-docs.md +86 -0
  341. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-doctor-checks.md +141 -0
  342. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-drivers.md +866 -0
  343. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/build-plugins.md +520 -0
  344. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/config-system.md +468 -0
  345. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/index.md +18 -0
  346. package/src/resources/submodules/appium/packages/appium/docs/zh/developing/sensitive.md +49 -0
  347. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/clients.md +143 -0
  348. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/drivers.md +219 -0
  349. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/index.md +45 -0
  350. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/plugins.md +140 -0
  351. package/src/resources/submodules/appium/packages/appium/docs/zh/ecosystem/tools.md +87 -0
  352. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/branch-testing.md +57 -0
  353. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caching.md +78 -0
  354. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/caps.md +284 -0
  355. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/config.md +102 -0
  356. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/context.md +44 -0
  357. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/event-timing.md +75 -0
  358. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/execute-methods.md +142 -0
  359. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/grid.md +166 -0
  360. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/headers.md +17 -0
  361. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/log-filters.md +86 -0
  362. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/managing-exts.md +89 -0
  363. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-1-to-2.md +410 -0
  364. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/migrating-2-to-3.md +459 -0
  365. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/security.md +89 -0
  366. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/settings.md +70 -0
  367. package/src/resources/submodules/appium/packages/appium/docs/zh/guides/tls.md +43 -0
  368. package/src/resources/submodules/appium/packages/appium/docs/zh/index.md +54 -0
  369. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/appium.md +200 -0
  370. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/clients.md +139 -0
  371. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/drivers.md +188 -0
  372. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/history.md +196 -0
  373. package/src/resources/submodules/appium/packages/appium/docs/zh/intro/index.md +39 -0
  374. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/index.md +23 -0
  375. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/install.md +47 -0
  376. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/next-steps.md +19 -0
  377. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/requirements.md +21 -0
  378. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-dotnet.md +99 -0
  379. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-java.md +20 -0
  380. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-js.md +62 -0
  381. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-py.md +57 -0
  382. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/test-rb.md +80 -0
  383. package/src/resources/submodules/appium/packages/appium/docs/zh/quickstart/uiauto2-driver.md +148 -0
  384. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/appium.md +395 -0
  385. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/bidi.md +71 -0
  386. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/index.md +30 -0
  387. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/jsonwp.md +215 -0
  388. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/mjsonwp.md +152 -0
  389. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/others.md +672 -0
  390. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/plugins.md +291 -0
  391. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/api/webdriver.md +1114 -0
  392. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/env-vars.md +31 -0
  393. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/extensions.md +240 -0
  394. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/index.md +35 -0
  395. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/server.md +76 -0
  396. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/cli/setup.md +78 -0
  397. package/src/resources/submodules/appium/packages/appium/docs/zh/reference/index.md +25 -0
  398. package/src/resources/submodules/appium/packages/appium/docs/zh/resources/index.md +28 -0
  399. package/src/resources/submodules/appium/packages/appium/docs/zh/sponsors/index.md +61 -0
  400. package/src/resources/submodules/appium/packages/appium/types/manifest/README.md +30 -0
  401. package/src/resources/submodules/appium/packages/base-driver/CHANGELOG.md +1131 -0
  402. package/src/resources/submodules/appium/packages/base-driver/README.md +15 -0
  403. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/errors.md +82 -0
  404. package/src/resources/submodules/appium/packages/base-driver/docs/mjsonwp/protocol-methods.md +182 -0
  405. package/src/resources/submodules/appium/packages/base-driver/static/appium.png +0 -0
  406. package/src/resources/submodules/appium/packages/base-plugin/CHANGELOG.md +672 -0
  407. package/src/resources/submodules/appium/packages/base-plugin/README.md +15 -0
  408. package/src/resources/submodules/appium/packages/docutils/CHANGELOG.md +948 -0
  409. package/src/resources/submodules/appium/packages/docutils/README.md +27 -0
  410. package/src/resources/submodules/appium/packages/driver-test-support/CHANGELOG.md +717 -0
  411. package/src/resources/submodules/appium/packages/driver-test-support/README.md +112 -0
  412. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/CHANGELOG.md +168 -0
  413. package/src/resources/submodules/appium/packages/eslint-config-appium-ts/README.md +33 -0
  414. package/src/resources/submodules/appium/packages/execute-driver-plugin/CHANGELOG.md +603 -0
  415. package/src/resources/submodules/appium/packages/execute-driver-plugin/README.md +42 -0
  416. package/src/resources/submodules/appium/packages/fake-driver/CHANGELOG.md +545 -0
  417. package/src/resources/submodules/appium/packages/fake-driver/README.md +7 -0
  418. package/src/resources/submodules/appium/packages/fake-driver/lib/screen.png +0 -0
  419. package/src/resources/submodules/appium/packages/fake-plugin/CHANGELOG.md +683 -0
  420. package/src/resources/submodules/appium/packages/fake-plugin/README.md +7 -0
  421. package/src/resources/submodules/appium/packages/images-plugin/CHANGELOG.md +602 -0
  422. package/src/resources/submodules/appium/packages/images-plugin/README.md +27 -0
  423. package/src/resources/submodules/appium/packages/images-plugin/docs/find-by-image.md +65 -0
  424. package/src/resources/submodules/appium/packages/images-plugin/docs/image-comparison.md +203 -0
  425. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/appstore.png +0 -0
  426. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img1.png +0 -0
  427. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2.png +0 -0
  428. package/src/resources/submodules/appium/packages/images-plugin/test/fixtures/img2_part.png +0 -0
  429. package/src/resources/submodules/appium/packages/logger/CHANGELOG.md +162 -0
  430. package/src/resources/submodules/appium/packages/logger/README.md +31 -0
  431. package/src/resources/submodules/appium/packages/opencv/CHANGELOG.md +384 -0
  432. package/src/resources/submodules/appium/packages/opencv/README.md +68 -0
  433. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/appium-diagram.jpg +0 -0
  434. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc1.png +0 -0
  435. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc2.png +0 -0
  436. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/cc_rotated.png +0 -0
  437. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/findwaldo.jpg +0 -0
  438. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/number5.png +0 -0
  439. package/src/resources/submodules/appium/packages/opencv/test/e2e/images/waldo.jpg +0 -0
  440. package/src/resources/submodules/appium/packages/plugin-test-support/CHANGELOG.md +539 -0
  441. package/src/resources/submodules/appium/packages/plugin-test-support/README.md +49 -0
  442. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/CHANGELOG.md +154 -0
  443. package/src/resources/submodules/appium/packages/relaxed-caps-plugin/README.md +35 -0
  444. package/src/resources/submodules/appium/packages/schema/CHANGELOG.md +271 -0
  445. package/src/resources/submodules/appium/packages/schema/README.md +50 -0
  446. package/src/resources/submodules/appium/packages/storage-plugin/CHANGELOG.md +73 -0
  447. package/src/resources/submodules/appium/packages/storage-plugin/README.md +83 -0
  448. package/src/resources/submodules/appium/packages/strongbox/CHANGELOG.md +94 -0
  449. package/src/resources/submodules/appium/packages/strongbox/README.md +96 -0
  450. package/src/resources/submodules/appium/packages/support/CHANGELOG.md +1054 -0
  451. package/src/resources/submodules/appium/packages/support/README.md +161 -0
  452. package/src/resources/submodules/appium/packages/test-support/CHANGELOG.md +712 -0
  453. package/src/resources/submodules/appium/packages/test-support/README.md +61 -0
  454. package/src/resources/submodules/appium/packages/tsconfig/CHANGELOG.md +131 -0
  455. package/src/resources/submodules/appium/packages/tsconfig/README.md +19 -0
  456. package/src/resources/submodules/appium/packages/types/CHANGELOG.md +793 -0
  457. package/src/resources/submodules/appium/packages/types/README.md +21 -0
  458. package/src/resources/submodules/appium/packages/universal-xml-plugin/CHANGELOG.md +435 -0
  459. package/src/resources/submodules/appium/packages/universal-xml-plugin/README.md +53 -0
  460. package/src/resources/submodules/appium/renovate/README.md +63 -0
  461. package/src/resources/submodules/appium-uiautomator2-driver/CHANGELOG.md +1204 -0
  462. package/src/resources/submodules/appium-uiautomator2-driver/README.md +2077 -0
  463. package/src/resources/submodules/appium-uiautomator2-driver/docs/actions.md +72 -0
  464. package/src/resources/submodules/appium-uiautomator2-driver/docs/activity-startup.md +47 -0
  465. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-appbundle.md +69 -0
  466. package/src/resources/submodules/appium-uiautomator2-driver/docs/android-mobile-gestures.md +352 -0
  467. package/src/resources/submodules/appium-uiautomator2-driver/docs/bidi.md +50 -0
  468. package/src/resources/submodules/appium-uiautomator2-driver/docs/capability-sets.md +136 -0
  469. package/src/resources/submodules/appium-uiautomator2-driver/docs/scheduled-actions.md +155 -0
  470. package/src/resources/submodules/appium-uiautomator2-driver/docs/uiautomator-uiselector.md +51 -0
  471. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/main.md +95 -0
  472. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen1.png +0 -0
  473. package/src/resources/submodules/appium-uiautomator2-driver/docs/unlock/screen2.png +0 -0
  474. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/checkered-squares.png +0 -0
  475. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/start-button.png +0 -0
  476. package/src/resources/submodules/appium-uiautomator2-driver/test/functional/assets/stop-button.png +0 -0
  477. package/src/resources/submodules/appium-xcuitest-driver/.github/ISSUE_TEMPLATE.md +4 -0
  478. package/src/resources/submodules/appium-xcuitest-driver/CHANGELOG.md +2594 -0
  479. package/src/resources/submodules/appium-xcuitest-driver/README.md +55 -0
  480. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo-white.png +0 -0
  481. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-logo.png +0 -0
  482. package/src/resources/submodules/appium-xcuitest-driver/docs/assets/images/appium-plus-xctest.png +0 -0
  483. package/src/resources/submodules/appium-xcuitest-driver/docs/contributing.md +45 -0
  484. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints-wda.md +61 -0
  485. package/src/resources/submodules/appium-xcuitest-driver/docs/endpoints.md +98 -0
  486. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/keynote.png +0 -0
  487. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/on_my_iphone.png +0 -0
  488. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/assets/images/ios-xctest-file-movement/top_files.png +0 -0
  489. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/attach-to-running-wda.md +43 -0
  490. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/audio-capture.md +78 -0
  491. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/capability-sets.md +169 -0
  492. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/ci-setup.md +47 -0
  493. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/clipboard.md +47 -0
  494. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/elements-lookup-troubleshooting.md +158 -0
  495. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/file-transfer.md +147 -0
  496. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/gestures.md +52 -0
  497. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/hybrid.md +137 -0
  498. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/input-events.md +67 -0
  499. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/install-certificate.md +19 -0
  500. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/multiple-xcode-versions.md +37 -0
  501. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/parallel-tests.md +39 -0
  502. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-prebuilt-wda.md +135 -0
  503. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/run-preinstalled-wda.md +178 -0
  504. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/touch-id.md +33 -0
  505. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/troubleshooting.md +191 -0
  506. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/tvos.md +114 -0
  507. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-custom-server.md +283 -0
  508. package/src/resources/submodules/appium-xcuitest-driver/docs/guides/wda-slowness.md +231 -0
  509. package/src/resources/submodules/appium-xcuitest-driver/docs/index.md +36 -0
  510. package/src/resources/submodules/appium-xcuitest-driver/docs/installation/index.md +137 -0
  511. package/src/resources/submodules/appium-xcuitest-driver/docs/overview.md +19 -0
  512. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/check-prov-prof.png +0 -0
  513. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-new-project.png +0 -0
  514. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/create-single-page.png +0 -0
  515. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/no-prov-prof.png +0 -0
  516. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/project-prov-prof.png +0 -0
  517. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/set-up-bundle.png +0 -0
  518. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/untrusted-dev.png +0 -0
  519. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-bundle-id.png +0 -0
  520. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-config.png +0 -0
  521. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-fail.png +0 -0
  522. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/assets/images/xcode-facebook-succeed.png +0 -0
  523. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/index.md +51 -0
  524. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-auto.md +49 -0
  525. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-basic-manual.md +40 -0
  526. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-full-manual.md +50 -0
  527. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/prov-profile-generic-manual.md +49 -0
  528. package/src/resources/submodules/appium-xcuitest-driver/docs/preparation/real-device-config.md +100 -0
  529. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/assets/images/useXctestrunFile.png +0 -0
  530. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/bidi.md +75 -0
  531. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/capabilities.md +165 -0
  532. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/commands.md +490 -0
  533. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/element-attributes.md +27 -0
  534. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/execute-methods.md +2206 -0
  535. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/ios-predicate.md +196 -0
  536. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/locator-strategies.md +19 -0
  537. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/scripts.md +29 -0
  538. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/security-flags.md +22 -0
  539. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/server-args.md +16 -0
  540. package/src/resources/submodules/appium-xcuitest-driver/docs/reference/settings.md +49 -0
  541. package/src/resources/submodules/appium-xcuitest-driver/test/assets/TestApp-iphonesimulator.app/Default-568h@2x.png +0 -0
  542. package/src/resources/submodules/appium-xcuitest-driver/test/assets/test.png +0 -0
  543. package/src/schema.ts +5 -0
  544. package/src/scripts/simple-index-documentation.ts +93 -0
  545. package/src/scripts/simple-query-documentation.ts +61 -0
  546. package/src/server.ts +40 -0
  547. package/src/tests/README.md +83 -0
  548. package/src/tests/__mocks__/@appium/support.ts +31 -0
  549. package/src/tests/generate-all-locators.test.ts +179 -0
  550. package/src/tests/test-setup-wda.ts +247 -0
  551. package/src/tools/README.md +170 -0
  552. package/src/tools/answer-appium.ts +75 -0
  553. package/src/tools/boot-simulator.ts +87 -0
  554. package/src/tools/create-session.ts +270 -0
  555. package/src/tools/delete-session.ts +46 -0
  556. package/src/tools/documentation/index.ts +97 -0
  557. package/src/tools/documentation/reasoning-rag.ts +434 -0
  558. package/src/tools/documentation/sentence-transformers-embeddings.ts +142 -0
  559. package/src/tools/documentation/simple-pdf-indexer.ts +509 -0
  560. package/src/tools/documentation/uploads/documents.json +1 -0
  561. package/src/tools/generate-tests.ts +50 -0
  562. package/src/tools/index.ts +133 -0
  563. package/src/tools/install-wda.ts +277 -0
  564. package/src/tools/interactions/activate-app.ts +46 -0
  565. package/src/tools/interactions/click.ts +47 -0
  566. package/src/tools/interactions/double-tap.ts +87 -0
  567. package/src/tools/interactions/find.ts +58 -0
  568. package/src/tools/interactions/get-text.ts +47 -0
  569. package/src/tools/interactions/install-app.ts +45 -0
  570. package/src/tools/interactions/list-apps.ts +65 -0
  571. package/src/tools/interactions/screenshot.ts +56 -0
  572. package/src/tools/interactions/set-value.ts +48 -0
  573. package/src/tools/interactions/terminate-app.ts +47 -0
  574. package/src/tools/interactions/uninstall-app.ts +47 -0
  575. package/src/tools/locators.ts +83 -0
  576. package/src/tools/scroll-to-element.ts +188 -0
  577. package/src/tools/scroll.ts +97 -0
  578. package/src/tools/select-device.ts +298 -0
  579. package/src/tools/select-platform.ts +243 -0
  580. package/src/tools/session-store.ts +72 -0
  581. package/src/tools/setup-wda.ts +218 -0
  582. package/src/types/appium-ios-device.d.ts +8 -0
  583. package/src/types/appium-xcuitest-driver.d.ts +5 -0
  584. package/tsconfig.json +23 -0
  585. package/index.js +0 -0
@@ -0,0 +1,137 @@
1
+ ---
2
+ hide:
3
+ - navigation
4
+
5
+ title: Installation
6
+ ---
7
+
8
+ Like all Appium drivers, the XCUITest driver requires Appium to be installed. Refer to the
9
+ [Appium documentation](https://appium.io/docs/en/latest/quickstart/install/) for its requirements
10
+ and prerequisites.
11
+
12
+ !!! info
13
+
14
+ XCUITest driver `10.0.0` or later requires Appium 3, and no longer supports Appium 2. For more
15
+ details, refer to the [Appium Server Support](#appium-server-support) section.
16
+
17
+ ## Install the Driver
18
+
19
+ Once Appium has been installed, you can use the [extension CLI](https://appium.io/docs/en/latest/cli/extensions/)
20
+ to install the XCUITest driver:
21
+
22
+ ```bash
23
+ appium driver install xcuitest
24
+ ```
25
+
26
+ Alternatively, if you are running a Node.js project, you can include `appium-xcuitest-driver` as
27
+ one of your project dependencies. [Refer to the Appium documentation](https://appium.io/docs/en/latest/guides/managing-exts/#do-it-yourself-with-npm)
28
+ for more information about this approach.
29
+
30
+ ## Load the Driver
31
+
32
+ To activate the driver, simply launch the Appium server. By default, Appium will load all the
33
+ installed drivers:
34
+
35
+ ```bash
36
+ appium
37
+ ```
38
+
39
+ The server log output should include a line like the following:
40
+
41
+ ```
42
+ [Appium] XCUITestDriver has been successfully loaded in 0.789s
43
+ ```
44
+
45
+ Once the driver has been loaded, you can continue with [device preparation](../preparation/index.md).
46
+
47
+ ## System Requirements
48
+
49
+ !!! note
50
+
51
+ Many of the below requirements can be validated after installing the driver, via the built-in
52
+ Appium Doctor support:
53
+ ```
54
+ appium driver doctor xcuitest
55
+ ```
56
+
57
+ - macOS host platform
58
+ - Xcode and Xcode Developer Tools
59
+ - Make sure to install an Xcode version that supports the iOS/iPadOS/tvOS version you want to test.
60
+ Different Xcode versions also have different macOS host version requirements. For more details,
61
+ refer to the [Xcode Release Notes](https://developer.apple.com/documentation/xcode-release-notes/).
62
+ - New major Xcode versions (especially beta) will likely require you to also update the driver. See the
63
+ [iOS Version Support](#ios-version-support) section for details.
64
+ - If automating real devices, additional manual configuration is required - please refer to the
65
+ [Real Device Configuration](../preparation/real-device-config.md) guide.
66
+ - If testing web or hybrid apps, their webviews must be debuggable. If it is not possible to connect to your
67
+ webview(s) using [Safari remote debugger](https://appletoolbox.com/use-web-inspector-debug-mobile-safari/),
68
+ then the driver will not be able to identify them.
69
+
70
+ ### Optional Requirements
71
+
72
+ - [`xcpretty`](https://github.com/supermarin/xcpretty) can be used to make Xcode output easier to
73
+ read. It can be installed by running `gem install xcpretty`.
74
+ - [`ffmpeg`](https://ffmpeg.org/) is used for test video recording. It can be installed using
75
+ [`brew`](https://brew.sh/): `brew install ffmpeg`
76
+ - [`idb`](https://github.com/facebook/idb), [`go-ios`](https://github.com/danielpaulus/go-ios) and
77
+ [`tidevice`](https://github.com/alibaba/taobao-iphone-device) can be used to improve device interactions
78
+ - [WIX AppleSimulatorUtils](https://github.com/wix/AppleSimulatorUtils) can be used to improve some
79
+ Simulator interactions
80
+ - [`py-ios-device`](https://github.com/YueChen-C/py-ios-device) is required in several `mobile:`
81
+ extensions, and can improve the general testing experience for real devices
82
+
83
+ ## Appium Server Support
84
+
85
+ If you are running an older version of Appium, make sure to install a supported driver version:
86
+
87
+ | Appium server version | Supported XCUITest driver versions |
88
+ | --- | --- |
89
+ | Appium 3 | `>= 10.0.0` |
90
+ | Appium 2 | `4.0.0 - 9.10.5` |
91
+ | Appium 1 | `<= 3.62.0` (bundled with Appium) |
92
+
93
+ ## iOS Version Support
94
+
95
+ Different driver versions support different ranges of iOS/iPadOS/tvOS versions. The following tables
96
+ should help you decide which driver version to install. If you are upgrading/downgrading an
97
+ existing installation, check that the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent)
98
+ version on the device under test is also updated accordingly.
99
+
100
+ For iOS/tvOS support in driver versions older than `4.0.0` (Appium 1), please refer to
101
+ [the Appium 1 changelog](https://github.com/appium/appium/blob/1.x/CHANGELOG.md).
102
+
103
+ !!! info "Background"
104
+
105
+ The XCUITest driver depends on the [WebDriverAgent (WDA)](https://github.com/appium/WebDriverAgent)
106
+ framework, which in turn [relies on Apple's XCTest framework](../overview.md). Changes in the
107
+ XCTest API are published in new Xcode and Apple device OS versions. These API changes may
108
+ add new features that the driver must implement in order to support the latest devices, as well
109
+ as modify or even remove support for existing features that the driver relies on. In both cases,
110
+ new driver and WDA versions are required.
111
+
112
+ Generally, the driver/WDA aims to support the latest _two_ (2) major Xcode/iOS/iPadOS/tvOS versions,
113
+ but may also work with older versions, unless specified below.
114
+
115
+ The following are the minimum driver/WDA versions required for specific Xcode/iOS versions:
116
+
117
+ | Xcode/iOS version | Minimum XCUITest driver & WDA version |
118
+ | --- | --- |
119
+ | Xcode 26 / iOS 26 | `9.5.0` (WDA `9.14.1`) |
120
+ | Xcode 16-beta.5 / iOS 18 | `7.24.15` (WDA `8.9.1`) |
121
+ | Xcode 15 / iOS 17 | `4.32.23` (WDA `5.6.0`) |
122
+ | Xcode 14.3 / iOS 16.4 | `4.21.7` (WDA `4.13.1`) |
123
+ | Xcode 14-beta.3 / iOS 16 Beta | `4.7.4` (WDA `4.8.1`) |
124
+
125
+ The following are the last driver versions that are compatible with older Xcode versions:
126
+
127
+ | Xcode version | Last supported XCUITest driver version |
128
+ | --- | --- |
129
+ | Xcode 12 | `4.27.2` (WDA `4.15.1`) |
130
+ | Xcode 11 | `4.2.0` (WDA `4.0.0`) |
131
+
132
+ The following are the last driver versions that are compatible with older iOS versions:
133
+
134
+ | iOS version | Last supported XCUITest driver version |
135
+ | --- | --- |
136
+ | iOS 9 - iOS 14 | `4.27.2` (WDA `4.15.1`) |
137
+ | iOS 8 | `4.2.0` (WDA `4.0.0`) |
@@ -0,0 +1,19 @@
1
+ ---
2
+ hide:
3
+ - navigation
4
+ - toc
5
+
6
+ title: Overview
7
+ ---
8
+
9
+ The XCUITest driver combines several different technologies to achieve its functionality:
10
+
11
+ - Native testing is based on Apple's [XCTest](https://developer.apple.com/documentation/xctest) framework
12
+ and Appium's fork of Facebook's [WebDriverAgent](https://github.com/appium/WebDriverAgent) server
13
+ (the [original](https://github.com/facebookarchive/WebDriverAgent) project is not supported anymore)
14
+ - In native mode, the driver operates in scope of [WebDriver W3C protocol](https://w3c.github.io/webdriver)
15
+ with several platform-specific extensions
16
+ - Webview communication is done via [Webkit remote debugger protocol](https://github.com/appium/appium-remote-debugger)
17
+ - In webview mode, the driver can only operate in scope of the obsolete [JSONWP protocol](https://webdriver.io/docs/api/jsonwp.html)
18
+ - Real device communication is provided by the [`appium-ios-device`](https://github.com/appium/appium-ios-device) library
19
+ - Simulator communication is provided by the [`appium-ios-simulator`](https://github.com/appium/appium-ios-simulator) library
@@ -0,0 +1,51 @@
1
+ ---
2
+ title: Device Preparation
3
+ ---
4
+
5
+ Before using the XCUITest driver with a simulator or real device, some device preparation is required.
6
+
7
+ ## Automatic Adjustments
8
+
9
+ The XCUITest driver automatically adjusts some device preferences for testing purposes.
10
+
11
+ ### Keyboard Configuration
12
+
13
+ Some keyboard preferences are changed in order to make test runs more stable. You can change some
14
+ of them via the [Settings API](https://appium.io/docs/en/latest/guides/settings/).
15
+
16
+ - _Settings -> General -> Keyboard -> Auto-Correction_ is turned OFF
17
+ - _Settings -> General -> Keyboard -> Predictive Text_ is turned OFF
18
+ - The keyboard tutorial is marked as complete
19
+ - (Simulator Only) Software keyboard is turned ON
20
+
21
+ ## Manual Adjustments
22
+
23
+ Unfortunately, not all configuration can be done automatically, and some changes must be applied manually.
24
+
25
+ ### Accessibility Settings
26
+
27
+ - To avoid miscalculation of element coordinates, please make sure the zoom preference is turned off
28
+ in _Settings -> Accessibility -> Zoom_.
29
+ - Some accessibility settings may expose additional view elements. Appium does not modify these
30
+ settings automatically, since they could affect the way your application under test performs.
31
+ Please change them manually if needed. Note that the available accessibility content depends on
32
+ the OS version.
33
+ - _Settings -> Accessibility -> Spoken Content -> Speak Selection_
34
+
35
+ ### Webview Testing
36
+
37
+ - Webviews on iOS/iPadOS 16.4 or above may require additional configuration from the application developer.
38
+ Specifically, the destination `WKWebView` and/or `JSContext` component must have the
39
+ [`isInspectable`](https://developer.apple.com/documentation/webkit/wkwebview/4111163-isinspectable)
40
+ property set to `true`. Please read [the WebKit documentation page](https://webkit.org/blog/13936/enabling-the-inspection-of-web-content-in-apps/)
41
+ for more details on this property.
42
+ - WebViews on iOS/iPadOS below version 16.4 must have the [`get-task-allow` entitlement](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_security_cs_debugger) present as `true` in the application manifest.
43
+ - Starting from iOS/iPadOS 16.4, the Google Chrome browser also supports webview testing. This feature
44
+ requires Chrome version 115 or newer. Please read
45
+ [the Chrome Developer documentation page](https://developer.chrome.com/blog/debugging-chrome-on-ios/)
46
+ for details on the necessary configuration.
47
+
48
+ ### Real Devices
49
+
50
+ Some settings are enabled by default on simulators, but need to be manually changed for real devices.
51
+ See the [Real Device Configuration](./real-device-config.md) document for details.
@@ -0,0 +1,49 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Basic Automatic Configuration
6
+ ---
7
+
8
+ If you have a paid Apple Developer account, the easiest way to create the provisioning profile is
9
+ to use the automatic configuration strategy. There are two ways to do this:
10
+
11
+ * Use the `xcodeOrgId` and `xcodeSigningId` [capabilities](../reference/capabilities.md):
12
+ ```json
13
+ {
14
+ "appium:xcodeOrgId": "<Team ID>",
15
+ "appium:xcodeSigningId": "Apple Developer",
16
+ "appium:updatedWDABundleId": "<bundle id your provisioning profile can accept>"
17
+ }
18
+ ```
19
+ * Create a `.xcconfig` file somewhere on your file system and add the following to it:
20
+ ```ini
21
+ DEVELOPMENT_TEAM = <Team ID>
22
+ CODE_SIGN_IDENTITY = Apple Developer
23
+ ```
24
+ Then use the `xcodeConfigFile` capability to specify the path to this file:
25
+ ```json
26
+ {
27
+ "appium:xcodeConfigFile": "/path/to/xcconfig/file"
28
+ }
29
+ ```
30
+
31
+ Note that these are mutually exclusive strategies; use _either_ the `appium:xcodeConfigFile` capability
32
+ _or_ the combination of `appium:xcodeOrgId` and `appium:xcodeSigningId`.
33
+
34
+ * `appium:xcodeOrgId` / `DEVELOPMENT_TEAM` is a unique 10-character string generated by Apple that is
35
+ assigned to your team.
36
+ * To find this string (your Team ID), sign in to [developer.apple.com/account](https://developer.apple.com/account),
37
+ and click Membership in the sidebar. Your Team ID appears in the Membership Information
38
+ section under the team name. You can also find your Team ID listed under the "Organizational
39
+ Unit" field in your iPhone Developer certificate in your keychain.
40
+ * `appium:xcodeSigningId` / `CODE_SIGN_IDENTITY` is usually either `Apple Developer` or `iPhone Developer`.
41
+ * `appium:updatedWDABundleId` is the bundle id you would like to use for the built WebDriverAgent.
42
+ * Appium replaces the existing placeholder of `com.facebook.WebDriverAgentRunner` in `WebDriverAgent.xcodeproj` with the given capability value.
43
+ * `xcodebuild` adds `.xctrunner` automatically for XCTest package. Thus, the provisioning profile you're using should have the suffix explicitly, or it can be for bundle id which has `*`.
44
+ * For instance, when the `appium:updatedWDABundleId` is `io.appium.WebDriverAgentRunner`, the given provisioning profile should be for `io.appium.WebDriverAgentRunner.xctrunner`, `io.appium.WebDriverAgentRunner.*` or `*`.
45
+ * `appium:allowProvisioningDeviceRegistration` lets XCUITest driver set `-allowProvisioningUpdates` and `-allowProvisioningDeviceRegistration` flags for the `xcodebuild` command. They will help register the target device to the matched provisioning profile if it still doesn't have the device. Please check `man xcodebuild` output for more details.
46
+
47
+ Once this configuration is done, you should specify your real device UDID with the `udid` desired
48
+ capability, after which you should be able to start your test. Proceed with
49
+ [Validating the WDA Install](./real-device-config.md#validating-the-wda-install) for the next steps.
@@ -0,0 +1,40 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Basic Manual Configuration
6
+ ---
7
+
8
+ There are many cases in which the basic automatic configuration is not enough. Often this happens
9
+ when the development account being used is a "Free" one, in which case it is not possible to create
10
+ a wildcard provisioning profile.
11
+
12
+ You can confirm this by opening the WDA project in Xcode. The issue will manifest as something like
13
+ an error that Xcode failed to create provisioning profile:
14
+
15
+ ![No provisioning profile](./assets/images/no-prov-prof.png)
16
+
17
+ The easiest way around this is to create a new project:
18
+
19
+ ![Create new project](./assets/images/create-new-project.png)
20
+
21
+ The type does not matter, other than it being "iOS". "Single View Application" is the easiest:
22
+
23
+ ![Create single page](./assets/images/create-single-page.png)
24
+
25
+ The important part is to use a unique "Product Name" and "Organization Name". Also, at this point,
26
+ specify your "Team".
27
+
28
+ ![Setup bundle](./assets/images/set-up-bundle.png)
29
+
30
+ You can confirm that the provisioning profile was created by looking at the "Project" tab:
31
+
32
+ ![Project pane](./assets/images/project-prov-prof.png)
33
+
34
+ Or by going into your account preferences and seeing the provisioning profile:
35
+
36
+ ![Check provisioning profile](./assets/images/check-prov-prof.png)
37
+
38
+ At this point you have a valid provisioning profile. Make note of the bundle identifier
39
+ you associated with it, and add that in the `updatedWDABundleId` capability for your tests.
40
+ Then follow the [initial instructions for automatic configuration](./prov-profile-basic-auto.md).
@@ -0,0 +1,50 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Full Manual Configuration
6
+ ---
7
+
8
+ The provisioning profile can also be manually associated with the WDA project. Keep in mind that
9
+ this will have to be done each time WDA is updated (such as when updating the XCUITest driver),
10
+ and is _not_ recommended:
11
+
12
+ * In the terminal, open the directory where WDA is located. Run the following to set the project up:
13
+ ```bash
14
+ mkdir -p Resources/WebDriverAgent.bundle
15
+ ```
16
+ * Open `WebDriverAgent.xcodeproj` in Xcode. This will likely open a screen with an empty editor.
17
+ * In the file browser on the left side, select the root _WebDriverAgent_ project, which will open
18
+ it in the editor. Then, under _Targets_, select _WebDriverAgentRunner_ (or
19
+ _WebDriverAgentRunner\_tvOS_ for tvOS), and switch to the _Signing & Capabilities_ tab.
20
+ * Check _Automatically manage signing_, and then select your _Team_ (you may need to first sign
21
+ into Xcode). The outcome should be similar to the following:
22
+
23
+ ![WebDriverAgent in Xcode project](./assets/images/xcode-config.png)
24
+
25
+ * Xcode will likely fail to create a provisioning profile due to an invalid bundle identifier:
26
+
27
+ ![Xcode provisioning fail](./assets/images/xcode-facebook-fail.png)
28
+
29
+ * Change the _Bundle Identifier_ from `com.facebook.WebDriverAgentRunner` to something that Xcode
30
+ will accept. You can also do this in the _Build Settings_ tab:
31
+
32
+ ![Xcode bundle id](./assets/images/xcode-bundle-id.png)
33
+
34
+ !!! note
35
+
36
+ Versions of Xcode older than 11 have a different naming convention. This feature may not work
37
+ for a package which is built by Xcode versions below 12.
38
+
39
+ * If your bundle identifier is accepted, you should see that Xcode has created a provisioning
40
+ profile and all is well:
41
+
42
+ ![Xcode provisioning profile](./assets/images/xcode-facebook-succeed.png)
43
+
44
+ * Finally, you can verify that everything works:
45
+ * Select the scheme as _Product -> Scheme -> WebDriverAgentRunner_
46
+ * Select your real device in _Product -> Destination_
47
+ * Select _Product -> Test_ to build and install the WDA app
48
+
49
+ Proceed with [Validating the WDA Install](./real-device-config.md#validating-the-wda-install) for
50
+ the next steps!
@@ -0,0 +1,49 @@
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
+ !!! note
41
+
42
+ The Appium team distributes generic builds with `CODE_SIGNING_ALLOWED=NO` at
43
+ [WebDriverAgent package releases](https://github.com/appium/WebDriverAgent/releases).
44
+ It is recommended to sign packages with a wildcard (`*`) provisioning profile,
45
+ although such profiles require a paid Apple Developer account.
46
+ 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 `*`.
47
+ In case of a free account, you may need to update the bundle id before building
48
+ the WebDriverAgent package to prepare a properly signed WebDriverAgent package
49
+ by `xcodebuild`.
@@ -0,0 +1,100 @@
1
+ ---
2
+ title: Real Device Configuration
3
+ ---
4
+
5
+ In order to communicate with the device under test, the XCUITest driver automatically installs the
6
+ `WebDriverAgentRunner-Runner` (WDA) application on it, using Xcode's command-line utility `xcodebuild`.
7
+ Unlike simulators, real devices have several security restrictions that need to be manually
8
+ configured, before this can work:
9
+
10
+ - Devices need to be trusted. This can be done by opening Xcode and afterwards physically connecting
11
+ the device under test to the computer. The device should have a popup asking to trust the computer,
12
+ which you should accept.
13
+ - Devices using iOS/iPadOS 16 or above require enabling Developer Mode. Please read
14
+ [Apple's documentation on Developer Mode](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device)
15
+ for more details. `devmodectl streaming` CLI on macOS 13+ and installing development signed apps
16
+ also help enabling the mode.
17
+ - After enabling Developer Mode (if applicable), please turn on _Settings -> Developer -> Enable UI Automation_
18
+ - Webviews will not be testable unless the Safari Inspector is enabled. Please turn it on in
19
+ _Settings -> Safari -> Advanced -> Web Inspector_. Similarly, you may want to turn on the adjacent
20
+ option _Settings -> Safari -> Advanced -> Remote Automation_.
21
+
22
+ Finally, the WDA application must have a valid provisioning profile, which includes signing the app
23
+ and linking it to a development team.
24
+
25
+ ## Provisioning Profile Setup
26
+
27
+ Generally, unless your device under test [already has WDA installed](../guides/run-preinstalled-wda.md),
28
+ or you already have [a prebuilt WDA](../guides/run-prebuilt-wda.md) on your local system, you will
29
+ need an Apple ID to be able to sign the app.
30
+
31
+ Once you have an Apple ID, there are several approaches you can take.
32
+
33
+ * [__Basic Automatic Configuration__](./prov-profile-basic-auto.md): the easiest approach, but
34
+ requires you to have a paid Apple Developer account
35
+
36
+ If the automatic configuration did not work or does not apply to you, you will need to follow one of
37
+ the manual configuration approaches. All of these involve the WDA Xcode project, so at the very
38
+ least, you must know the local path to the project file - `WebDriverAgent.xcodeproj`:
39
+
40
+ * The WDA project is included in `appium-webdriveragent`, which is installed as a dependency of the
41
+ XCUITest driver. You can therefore find the project file in
42
+ `/path/to/xcuitest/driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj`.
43
+ By default, drivers are installed in `~/.appium`, so the project would be located at
44
+ `~/.appium/node_modules/appium-xcuitest-driver/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj`.
45
+ * If using XCUITest driver v4.13.0 or newer, you can run the `appium driver run xcuitest open-wda`
46
+ [driver script](../reference/scripts.md) to directly open `WebDriverAgent.xcodeproj` in Xcode.
47
+
48
+ The WDA project file can now be used in the manual configuration approaches:
49
+
50
+ * [__Basic Manual Configuration__](./prov-profile-basic-manual.md): create a new project, then use
51
+ its provisioning profile and bundle ID
52
+ * [__Full Manual Configuration__](./prov-profile-full-manual.md): associate the provisioning profile
53
+ directly with the WDA project
54
+ * [__Manual Configuration for a Generic Device__](./prov-profile-generic-manual.md): manually run
55
+ `xcodebuild` to build WDA, then manually install it
56
+
57
+ ### Validating the WDA Install
58
+
59
+ Once you have configured the WDA project or have the app ready, you can try installing it. It is
60
+ possible that you may encounter some errors:
61
+
62
+ * `xcodebuild exited with code '65' and signal 'null'`
63
+
64
+ This usually happens when attempting the automatic configuration, and it means that the necessary
65
+ code signing is not set up correctly. Follow the steps in any of the manual configuration
66
+ approaches to fix this.
67
+
68
+ * `Unable to launch <your-bundle-id>.WebDriverAgentRunner-Runner because it has an invalid code
69
+ signature, inadequate entitlements or its profile has not been explicitly trusted by the user.`
70
+
71
+ This means that the developer is not trusted on the device. If you manually try to open the WDA
72
+ app on the device, you will see a popup message:
73
+
74
+ ![Untrusted developer](./assets/images/untrusted-dev.png)
75
+
76
+ To fix this, you need to open _Settings -> General -> VPN & Device Management_ on the device, then
77
+ select your development team and trust it. Afterwards you should be able to open/launch the app.
78
+ See [Apple documentation for more information](https://support.apple.com/en-us/HT204460).
79
+
80
+ * For other issues, please refer to the [Troubleshooting](../guides/troubleshooting.md) page
81
+
82
+
83
+ ### Create an Offline Provisioning Profile
84
+
85
+ Since iOS 16, Apple requires a device to have a live internet connection for validating the code
86
+ signing. It is possible to set up an offline enabled provisioning profile, which allows you to avoid
87
+ the limitation. Please read [this issue](https://github.com/appium/appium/issues/18378#issuecomment-1482678074)
88
+ regarding detailed configuration steps.
89
+
90
+ ## Tune WebDriverAgent to improve session startup performance
91
+
92
+ Running `xcodebuild` every time takes much longer time to complete a session startup.
93
+ XCUITest driver offers a few methods to improve the performance with, or without using `xcodebuild`.
94
+
95
+ Some might require deeper understanding of iOS development environment,
96
+ but they help to improve speedup your test execution speed.
97
+
98
+ - [Run Preinstalled WebDriverAgentRunner](./../guides/run-preinstalled-wda.md)
99
+ - [Run Prebuilt WebDriverAgentRunner](./../guides/run-prebuilt-wda.md)
100
+ - [Attach to a Running WebDriverAgent](./../guides/attach-to-running-wda.md)
@@ -0,0 +1,75 @@
1
+ ---
2
+ title: BiDi Protocol Support
3
+ ---
4
+
5
+ XCUITest driver has partial support of the [BiDi Protocol](https://w3c.github.io/webdriver-bidi/) since version 7.26.0.
6
+ Only events and commands mentioned below are supported.
7
+ All other entities described in the spec throw not implemented errors.
8
+
9
+ # Supported Events
10
+
11
+ ## log.entryAdded
12
+
13
+ This event is emitted if the driver retrieves a new entry for any of the below log types. Logs collection might be disabled by the `appium:skipLogCapture` capability.
14
+
15
+ ### crashlog
16
+
17
+ Events are emitted for both emulator and real devices. The latter only works if [py-ios-device](https://github.com/YueChen-C/py-ios-device) is installed on the server host. Each event contains a particular device crash report entry.
18
+ Events are always emitted with the `NATIVE_APP` context.
19
+
20
+ ### syslog
21
+
22
+ Events are emitted for both emulator and real devices. Each event contains a single device system log line.
23
+ Events are always emitted with the `NATIVE_APP` context.
24
+
25
+ ### safariConsole
26
+
27
+ Events are emitted for both emulator and real devices. Each event contains a single Safari console log line.
28
+ Events are always emitted with the appropriate web context name from which they were generated.
29
+ Events are only emitted if the `appium:showSafariConsoleLog` capability value is provided.
30
+
31
+ ### safariNetwork
32
+
33
+ Events are emitted for both emulator and real devices. Each event contains a single Safari network log line.
34
+ Events are always emitted with the appropriate web context name from which they were generated.
35
+ Events are only emitted if the `appium:showSafariNetworkLog` capability value is provided.
36
+
37
+ ### performance
38
+
39
+ Events are emitted for both emulator and real devices. Each event contains a single Safari performance log line.
40
+ Events are always emitted with the appropriate web context name from which they were generated.
41
+ Events are only emitted if the `appium:enablePerformanceLogging` capability value is provided.
42
+
43
+ ### server
44
+
45
+ Events are emitted for both emulator and real devices. Each event contains a single Appium server log line.
46
+ Events are always emitted with the `NATIVE_APP` context.
47
+ Events are only emitted if the `get_server_logs` server security feature is enabled.
48
+
49
+ ## appium:xcuitest.contextUpdate
50
+
51
+ This event is emitted upon the context change, either explicit or implicit.
52
+ The event is always emitted upon new session initialization.
53
+ See the [GitHub feature ticket](https://github.com/appium/appium/issues/20741) for more details.
54
+
55
+ ### CDDL
56
+
57
+ ```cddl
58
+ appium:xcuitest.contextUpdated = {
59
+ method: "appium:xcuitest.contextUpdated",
60
+ params: {
61
+ name: text,
62
+ type: "NATIVE" / "WEB",
63
+ },
64
+ }
65
+ ```
66
+
67
+ The event contains the following params:
68
+
69
+ ### name
70
+
71
+ Contains the actual name of the new context, for example `NATIVE_APP`.
72
+
73
+ ### type
74
+
75
+ Either `NATIVE` or `WEB` depending on which context is currently active in the driver session.