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,464 @@
1
+ ---
2
+ title: Migrating to Appium 3
3
+ ---
4
+ <style>
5
+ .md-typeset .grid {
6
+ grid-template-columns: repeat(auto-fit,minmax(min(100%,11rem),1fr));
7
+ }
8
+ </style>
9
+
10
+ This document is a guide for those who are using Appium 2 and would like to upgrade to Appium 3.
11
+ It contains a list of breaking changes, as well as suggestions for handling them.
12
+
13
+ While Appium 2 was a major overhaul of the entire Appium architecture, Appium 3 is a smaller
14
+ upgrade with fewer breaking changes, which should result in a much simpler migration process.
15
+
16
+ ## Installation
17
+
18
+ The installation method for Appium 3 remains the same as for Appium 2. If you want to upgrade, you
19
+ can simply install Appium 3 on top of your existing installation:
20
+
21
+ ```bash
22
+ # optional: `appium setup reset`
23
+ npm install -g appium
24
+ ```
25
+
26
+ ## Breaking Changes
27
+
28
+ ### Node 20+ Required
29
+
30
+ With Appium 2, the minimum required Node version was `14.17.0`. Support for Node 14 had already
31
+ ended before the release of Appium 2, which meant that even users on outdated Node versions were
32
+ able to use it.
33
+
34
+ Appium 3 drops support for outdated Node versions, and bumps the minimum required version to Node
35
+ `20.19.0` (with the semver range `^20.19.0 || ^22.12.0 || >=24.0.0`), as well as the minimum `npm`
36
+ version to `10`.
37
+
38
+ !!! info "Actions Needed"
39
+
40
+ Upgrade Node.js to `v20.19.0` or newer, and `npm` to `v10` or newer
41
+
42
+ ### Deprecated Endpoints Removed
43
+
44
+ Appium 3 removes many previously deprecated server endpoints. Some of these endpoints have now
45
+ become specific to one or more drivers, while most others have direct or close-to-direct
46
+ replacements in other endpoints. All removed endpoints, along with replacements (where applicable)
47
+ are listed [in the **Removed Endpoints** section](#removed).
48
+
49
+ Some W3C endpoints used in Appium also existed in the old JSONWP standard, but required different
50
+ parameters. With Appium 2, both standards for these endpoints were supported. Appium 3 changes
51
+ these endpoints by removing support for the JSONWP parameters, and only accepting the W3C
52
+ parameters. These endpoints are listed [in the **Modified Endpoints** section](#modified).
53
+
54
+ !!! info "Actions Needed"
55
+
56
+ Check your Appium client documentation for the affected methods, and adjust your code to use
57
+ their replacements
58
+
59
+ ### Feature Flag Prefix Required
60
+
61
+ With Appium 2, it was possible to opt into certain [insecure features](./security.md) on server
62
+ startup, which could be enabled using the `--allow-insecure` or `--relaxed-security` flags. Appium
63
+ `2.13` added the ability to optionally provide a scope prefix to specific features, ensuring that
64
+ they would only be enabled for the specified driver (or all of them).
65
+
66
+ Appium 3 makes the scope prefix mandatory, and will throw an error if features are specified
67
+ without a scope. Note that the behavior of the `--relaxed-security` flag remains unchanged.
68
+
69
+ !!! info "Actions Needed"
70
+
71
+ If you use the `--allow-insecure` server flag, add a scope prefix before each feature name.
72
+ For example, if you use the UiAutomator2 `adb_shell` feature, on Appium 2 you would enable it
73
+ like this:
74
+ ```
75
+ appium --allow-insecure=adb_shell
76
+ ```
77
+ On Appium 3, to ensure this feature is only activated for UiAutomator2, you can run it like so:
78
+ ```
79
+ appium --allow-insecure=uiautomator2:adb_shell
80
+ ```
81
+ Alternatively, if you wish to keep the Appium 2 behavior and enable the feature for _all_
82
+ drivers that support it, you can use the wildcard (`*`) prefix:
83
+ ```
84
+ appium --allow-insecure=*:adb_shell
85
+ ```
86
+ Server-scope features like `session_discovery` also require the wildcard prefix.
87
+
88
+
89
+ ### Session Discovery Requires Feature Flag
90
+
91
+ In Appium 2, it was possible to retrieve all active server sessions via the `GET /sessions`
92
+ endpoint. This information could then be used, for example, in Appium Inspector, in order to attach
93
+ to an existing session, instead of creating a new one.
94
+
95
+ Appium 3 makes two changes to the session discovery process:
96
+
97
+ * The `GET /sessions` endpoint is replaced with `GET /appium/sessions` (see [the Removed Endpoints section](#removed))
98
+ * The use of the new endpoint requires the `session_discovery` [feature flag](./security.md)
99
+
100
+ The return value of `GET /appium/sessions` is largely identical to `GET /sessions`, but additionally
101
+ includes the `created` field for each session entry, indicating the session creation time as a Unix
102
+ timestamp. The rest of the result format remains unchanged.
103
+
104
+ To reduce migration efforts, the `GET /appium/sessions` endpoint (locked behind the aforementioned
105
+ feature flag) is also available in Appium `2.19`, allowing you to adjust your code before upgrading
106
+ to Appium 3. As for Appium Inspector, support for this new endpoint is available starting from
107
+ version `2025.3.1`.
108
+
109
+ !!! info "Actions Needed"
110
+
111
+ * If your code uses session retrieval, change the endpoint from `GET /sessions` to
112
+ `GET /appium/sessions`
113
+ * If you use Appium Inspector's Attach to Session feature, upgrade to version `2025.3.1` or later
114
+ * In both cases, ensure your Appium server is launched with the `session_discovery`
115
+ [feature flag](./security.md)
116
+
117
+ ### Unzip Logic Removed
118
+
119
+ Appium 3 removes the custom unzip logic used when working with files like application packages.
120
+ Such files are often only relevant to particular platforms, therefore the functionality for
121
+ handling these operations has been moved to relevant drivers.
122
+
123
+ !!! info "Actions Needed"
124
+
125
+ Ensure you are using the most recent versions of your drivers
126
+
127
+ ### Express 5
128
+
129
+ Appium 3 upgrades the internally-used `express` dependency from `v4` to `v5`. This should not
130
+ affect users who use Appium directly, but developers integrating parts of Appium into their own
131
+ projects may want to check [the Express 5 Migration Guide](https://expressjs.com/en/guide/migrating-5.html).
132
+
133
+ !!! info "Actions Needed"
134
+
135
+ None! (hopefully)
136
+
137
+ ## Endpoint Changes
138
+ ### Removed
139
+
140
+ The following is a list of all the Appium server endpoints removed in Appium 3. For ease of
141
+ migration, additional information is provided for each endpoint: drivers that still support the
142
+ endpoint; suggested replacement endpoints, or, rarely, the lack of any available replacements.
143
+
144
+ Icons are used to indicate endpoint support in either certain drivers, or in the core Appium server
145
+ (applicable to all drivers):
146
+
147
+ <div class="grid cards" markdown>
148
+
149
+ - :simple-appium:{ .lg } - Appium server
150
+ - :material-apple:{ .lg } - [XCUITest driver](https://appium.github.io/appium-xcuitest-driver/latest/)
151
+ - :material-android:{ .lg } - [UiAutomator2 driver](https://github.com/appium/appium-uiautomator2-driver/)
152
+ - :material-coffee:{ .lg } - [Espresso driver](https://github.com/appium/appium-espresso-driver)
153
+ - :material-apple-finder:{ .lg } - [Mac2 driver](https://github.com/appium/appium-mac2-driver)
154
+ - :material-microsoft-windows:{ .lg } - [Windows driver](https://github.com/appium/appium-windows-driver)
155
+
156
+ </div>
157
+
158
+ * `GET /sessions`
159
+ * :octicons-arrow-right-24: `GET /appium/sessions` :simple-appium:
160
+ * `POST /session/:sessionId/accept_alert`
161
+ * :octicons-arrow-right-24: `POST /session/:sessionId/alert/accept` :simple-appium:
162
+ * :octicons-arrow-right-24: `mobile: alert` [execute method](./execute-methods.md) :material-apple:
163
+ * :octicons-arrow-right-24: `mobile: acceptAlert` execute method :material-android:
164
+ * `GET /session/:sessionId/alert_text`
165
+ * :octicons-arrow-right-24: `GET /session/:sessionId/alert/text` :simple-appium:
166
+ * `POST /session/:sessionId/alert_text`
167
+ * :octicons-arrow-right-24: `POST /session/:sessionId/alert/text` :simple-appium:
168
+ * `POST /session/:sessionId/appium/app/background`
169
+ * :octicons-arrow-right-24: `mobile: backgroundApp` execute method :material-apple: :material-android: :material-coffee:
170
+ * `POST /session/:sessionId/appium/app/close`
171
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
172
+ * :octicons-arrow-right-24: `mobile: terminateApp` execute method :material-apple: :material-android: :material-coffee:
173
+ * :octicons-arrow-right-24: `macos: terminateApp` execute method :material-apple-finder:
174
+ * :octicons-arrow-right-24: `windows: closeApp` execute method :material-microsoft-windows:
175
+ * `POST /session/:sessionId/appium/app/end_test_coverage`
176
+ * :octicons-arrow-right-24: `mobile: shell` execute method :material-android: :material-coffee:
177
+ * `POST /session/:sessionId/appium/app/launch`
178
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
179
+ * :octicons-arrow-right-24: `mobile: launchApp` execute method :material-apple:
180
+ * :octicons-arrow-right-24: `mobile: activateApp` or `mobile: startActivity` execute methods :material-android: :material-coffee:
181
+ * :octicons-arrow-right-24: `macos: launchApp` or `macos: activateApp` execute methods :material-apple-finder:
182
+ * :octicons-arrow-right-24: `windows: launchApp` execute method :material-microsoft-windows:
183
+ * `POST /session/:sessionId/appium/app/reset`
184
+ * :octicons-arrow-right-24: `mobile: clearApp` execute method :material-apple: [^sim] :material-android: :material-coffee:
185
+ * `POST /session/:sessionId/appium/app/strings`
186
+ * :octicons-arrow-right-24: `mobile: getAppStrings` execute method :material-apple: :material-android: :material-coffee:
187
+ * `GET /session/:sessionId/appium/device/app_state`
188
+ * :octicons-arrow-right-24: `POST /session/:sessionId/appium/device/app_state` :simple-appium:
189
+ * :octicons-arrow-right-24: `mobile: queryAppState` execute method :material-apple: :material-android: :material-coffee:
190
+ * :octicons-arrow-right-24: `macos: queryAppState` execute method :material-apple-finder:
191
+ * `GET /session/:sessionId/appium/device/current_activity`
192
+ * :octicons-arrow-right-24: `mobile: getCurrentActivity` execute method :material-android: :material-coffee:
193
+ * `GET /session/:sessionId/appium/device/current_package`
194
+ * :octicons-arrow-right-24: `mobile: getCurrentPackage` execute method :material-android: :material-coffee:
195
+ * `GET /session/:sessionId/appium/device/display_density`
196
+ * :octicons-arrow-right-24: `mobile: getDisplayDensity` execute method :material-android: :material-coffee:
197
+ * `POST /session/:sessionId/appium/device/finger_print`
198
+ * :octicons-arrow-right-24: `mobile: fingerPrint` execute method :material-android: [^sim] :material-coffee: [^sim]
199
+ * `POST /session/:sessionId/appium/device/get_clipboard`
200
+ * :octicons-check-24: Moved to drivers: :material-android: :material-coffee:
201
+ * :octicons-arrow-right-24: `mobile: getClipboard` execute method :material-apple: :material-android: :material-coffee:
202
+ * :octicons-arrow-right-24: `mobile: getPasteboard` execute method :material-apple: [^sim]
203
+ * :octicons-arrow-right-24: `windows: getClipboard` execute method :material-microsoft-windows:
204
+ * `POST /session/:sessionId/appium/device/gsm_call`
205
+ * :octicons-arrow-right-24: `mobile: gsmCall` execute method :material-android: [^sim] :material-coffee: [^sim]
206
+ * `POST /session/:sessionId/appium/device/gsm_signal`
207
+ * :octicons-arrow-right-24: `mobile: gsmSignal` execute method :material-android: [^sim] :material-coffee: [^sim]
208
+ * `POST /session/:sessionId/appium/device/gsm_voice`
209
+ * :octicons-arrow-right-24: `mobile: gsmVoice` execute method :material-android: [^sim] :material-coffee: [^sim]
210
+ * `POST /session/:sessionId/appium/device/is_locked`
211
+ * :octicons-arrow-right-24: `mobile: isLocked` execute method :material-apple: :material-android: :material-coffee:
212
+ * `POST /session/:sessionId/appium/device/keyevent`
213
+ * :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
214
+ * :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
215
+ * :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
216
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
217
+ * `POST /session/:sessionId/appium/device/lock`
218
+ * :octicons-arrow-right-24: `mobile: lock` execute method :material-apple: :material-android: :material-coffee:
219
+ * `POST /session/:sessionId/appium/device/long_press_keycode`
220
+ * :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
221
+ * `POST /session/:sessionId/appium/device/network_speed`
222
+ * :octicons-arrow-right-24: `mobile: networkSpeed` execute method :material-android: [^sim] :material-coffee: [^sim]
223
+ * `POST /session/:sessionId/appium/device/open_notifications`
224
+ * :octicons-arrow-right-24: `mobile: statusBar` execute method :material-android: :material-coffee:
225
+ * :octicons-arrow-right-24: `mobile: openNotifications` execute method :material-android:
226
+ * `POST /session/:sessionId/appium/device/power_ac`
227
+ * :octicons-arrow-right-24: `mobile: powerAC` execute method :material-android: [^sim] :material-coffee: [^sim]
228
+ * `POST /session/:sessionId/appium/device/power_capacity`
229
+ * :octicons-arrow-right-24: `mobile: powerCapacity` execute method :material-android: [^sim] :material-coffee: [^sim]
230
+ * `POST /session/:sessionId/appium/device/press_keycode`
231
+ * :octicons-arrow-right-24: `mobile: keys` execute method :material-apple: (iPadOS only)
232
+ * :octicons-arrow-right-24: `mobile: pressKey` execute method :material-android: :material-coffee:
233
+ * :octicons-arrow-right-24: `macos: keys` execute method :material-apple-finder:
234
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
235
+ * `POST /session/:sessionId/appium/device/send_sms`
236
+ * :octicons-arrow-right-24: `mobile: sendSms` execute method :material-android: [^sim] :material-coffee: [^sim]
237
+ * `POST /session/:sessionId/appium/device/set_clipboard`
238
+ * :octicons-arrow-right-24: `mobile: setClipboard` execute method :material-apple: :material-android: :material-coffee:
239
+ * :octicons-arrow-right-24: `mobile: setPasteboard` execute method :material-apple: [^sim]
240
+ * :octicons-arrow-right-24: `windows: setClipboard` execute method :material-microsoft-windows:
241
+ * `POST /session/:sessionId/appium/device/shake`
242
+ * :octicons-arrow-right-24: `mobile: shake` execute method :material-apple: [^sim]
243
+ * `POST /session/:sessionId/appium/device/start_activity`
244
+ * :octicons-arrow-right-24: `mobile: startActivity` execute method :material-android: :material-coffee:
245
+ * `GET /session/:sessionId/appium/device/system_bars`
246
+ * :octicons-arrow-right-24: `mobile: deviceScreenInfo` execute method :material-apple:
247
+ * :octicons-arrow-right-24: `mobile: getSystemBars` execute method :material-android: :material-coffee:
248
+ * `POST /session/:sessionId/appium/device/toggle_airplane_mode`
249
+ * :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
250
+ * `POST /session/:sessionId/appium/device/toggle_data`
251
+ * :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
252
+ * `POST /session/:sessionId/appium/device/toggle_location_services`
253
+ * :octicons-arrow-right-24: `mobile: toggleGps` execute method :material-android: :material-coffee:
254
+ * `POST /session/:sessionId/appium/device/toggle_wifi`
255
+ * :octicons-arrow-right-24: `mobile: setConnectivity` execute method :material-android: :material-coffee:
256
+ * `POST /session/:sessionId/appium/device/unlock`
257
+ * :octicons-arrow-right-24: `mobile: unlock` execute method :material-apple: :material-android: :material-coffee:
258
+ * `POST /session/:sessionId/appium/element/:elementId/value`
259
+ * :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
260
+ * `POST /session/:sessionId/appium/element/:elementId/replace_value`
261
+ * :octicons-arrow-right-24: `POST /session/:sessionId/element/:elementId/value` :simple-appium:
262
+ * `POST /session/:sessionId/appium/getPerformanceData`
263
+ * :octicons-arrow-right-24: `mobile: getPerformanceData` execute method :material-android: :material-coffee:
264
+ * `POST /session/:sessionId/appium/performanceData/types`
265
+ * :octicons-arrow-right-24: `mobile: getPerformanceDataTypes` execute method :material-android: :material-coffee:
266
+ * `POST /session/:sessionId/appium/receive_async_response`
267
+ * :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
268
+ * `POST /session/:sessionId/appium/simulator/toggle_touch_id_enrollment`
269
+ * :octicons-arrow-right-24: `mobile: enrollBiometric` execute method :material-apple: [^sim]
270
+ * `POST /session/:sessionId/appium/simulator/touch_id`
271
+ * :octicons-arrow-right-24: `mobile: sendBiometricMatch` execute method :material-apple: [^sim]
272
+ * `POST /session/:sessionId/appium/start_recording_screen`
273
+ * :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
274
+ * :octicons-arrow-right-24: `mobile: startXCTestScreenRecording` execute method :material-apple:
275
+ * :octicons-arrow-right-24: `mobile: startMediaProjectionRecording` execute method :material-android: :material-coffee:
276
+ * :octicons-arrow-right-24: `macos: startRecordingScreen` or `macos: startNativeScreenRecording` execute methods :material-apple-finder:
277
+ * :octicons-arrow-right-24: `windows: startRecordingScreen` execute method :material-microsoft-windows:
278
+ * `POST /session/:sessionId/appium/stop_recording_screen`
279
+ * :octicons-check-24: Moved to drivers: :material-apple: :material-android: :material-coffee: :material-apple-finder: :material-microsoft-windows:
280
+ * :octicons-arrow-right-24: `mobile: stopXCTestScreenRecording` execute method :material-apple:
281
+ * :octicons-arrow-right-24: `mobile: stopMediaProjectionRecording` execute method :material-android: :material-coffee:
282
+ * :octicons-arrow-right-24: `macos: stopRecordingScreen` or `macos: stopNativeScreenRecording` execute methods :material-apple-finder:
283
+ * :octicons-arrow-right-24: `windows: stopRecordingScreen` execute method :material-microsoft-windows:
284
+ * `GET /session/:sessionId/application_cache/status`
285
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
286
+ * `POST /session/:sessionId/buttondown`
287
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
288
+ * :octicons-arrow-right-24: [W3C Actions API](https://www.selenium.dev/documentation/webdriver/actions_api/) (`pointerDown`) :simple-appium:
289
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
290
+ * `POST /session/:sessionId/buttonup`
291
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
292
+ * :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
293
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
294
+ * `POST /session/:sessionId/click`
295
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
296
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
297
+ * `POST /session/:sessionId/dismiss_alert`
298
+ * :octicons-arrow-right-24: `POST /session/:sessionId/alert/dismiss` :simple-appium:
299
+ * `POST /session/:sessionId/doubleclick`
300
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
301
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
302
+ * `POST /session/:sessionId/element/active`
303
+ * :octicons-arrow-right-24: `GET /session/:sessionId/element/active` :simple-appium:
304
+ * `GET /session/:sessionId/element/:elementId/equals/:otherId`
305
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
306
+ * `GET /session/:sessionId/element/:elementId/location`
307
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
308
+ * :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
309
+ * `GET /session/:sessionId/element/:elementId/location_in_view`
310
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
311
+ * `GET /session/:sessionId/element/:elementId/pageIndex`
312
+ * :octicons-no-entry-24: MJSONWP protocol command with no direct replacement
313
+ * `GET /session/:sessionId/element/:elementId/size`
314
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
315
+ * :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/rect` :simple-appium:
316
+ * `POST /session/:sessionId/element/:elementId/submit`
317
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
318
+ * `POST /session/:sessionId/execute`
319
+ * :octicons-arrow-right-24: `POST /session/:sessionId/execute/sync` :simple-appium:
320
+ * `POST /session/:sessionId/execute_async`
321
+ * :octicons-arrow-right-24: `POST /session/:sessionId/execute/async` :simple-appium:
322
+ * `POST /session/:sessionId/keys`
323
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
324
+ * :octicons-arrow-right-24: W3C Actions API (`keyDown` & `keyUp`) :simple-appium:
325
+ * Selenium-based clients can also use [Send Keys](https://www.selenium.dev/documentation/webdriver/actions_api/keyboard/#send-keys)
326
+ * `GET /session/:sessionId/local_storage`
327
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
328
+ * `POST /session/:sessionId/local_storage`
329
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
330
+ * `DELETE /session/:sessionId/local_storage`
331
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
332
+ * `GET /session/:sessionId/local_storage/key/:key`
333
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
334
+ * `DELETE /session/:sessionId/local_storage/key/:key`
335
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
336
+ * `GET /session/:sessionId/local_storage/size`
337
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
338
+ * `POST /session/:sessionId/log`
339
+ * :octicons-arrow-right-24: `POST /session/:sessionId/se/log` :simple-appium:
340
+ * `GET /session/:sessionId/log/types`
341
+ * :octicons-arrow-right-24: `GET /session/:sessionId/se/log/types` :simple-appium:
342
+ * `POST /session/:sessionId/moveto`
343
+ * :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
344
+ * Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
345
+ * `GET /session/:sessionId/screenshot/:elementId`
346
+ * :octicons-arrow-right-24: `GET /session/:sessionId/element/:elementId/screenshot` :simple-appium:
347
+ * `GET /session/:sessionId/session_storage`
348
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
349
+ * `POST /session/:sessionId/session_storage`
350
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
351
+ * `DELETE /session/:sessionId/session_storage`
352
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
353
+ * `GET /session/:sessionId/session_storage/key/:key`
354
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
355
+ * `DELETE /session/:sessionId/session_storage/key/:key`
356
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
357
+ * `GET /session/:sessionId/session_storage/size`
358
+ * :octicons-no-entry-24: JSONWP protocol command with no direct replacement
359
+ * `POST /session/:sessionId/timeouts/async_script`
360
+ * :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
361
+ * `POST /session/:sessionId/timeouts/implicit_wait`
362
+ * :octicons-arrow-right-24: `POST /session/:sessionId/timeouts` :simple-appium:
363
+ * `POST /session/:sessionId/touch/click`
364
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
365
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
366
+ * Selenium-based clients can also use [Click and Release](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#click-and-release)
367
+ * :octicons-arrow-right-24: `mobile: tap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
368
+ * :octicons-arrow-right-24: `mobile: clickGesture` execute method :material-android:
369
+ * :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
370
+ * :octicons-arrow-right-24: `macos: click`, `macos: rightClick`, `macos: press` or `macos: tap` execute methods :material-apple-finder:
371
+ * :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
372
+ * `POST /session/:sessionId/touch/doubleclick`
373
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown` & `pointerUp`) :simple-appium:
374
+ * Selenium-based clients can also use [Double Click](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#double-click)
375
+ * :octicons-arrow-right-24: `mobile: doubleTap` or `mobile: tapWithNumberOfTaps` execute methods :material-apple:
376
+ * :octicons-arrow-right-24: `mobile: doubleClickGesture` execute method :material-android:
377
+ * :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
378
+ * :octicons-arrow-right-24: `macos: doubleClick` or `macos: doubleTap` execute methods :material-apple-finder:
379
+ * :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
380
+ * `POST /session/:sessionId/touch/down`
381
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
382
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown`) :simple-appium:
383
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
384
+ * `POST /session/:sessionId/touch/flick`
385
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
386
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
387
+ * :octicons-arrow-right-24: `mobile: flingGesture` execute method :material-android:
388
+ * `POST /session/:sessionId/touch/longclick`
389
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
390
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pause` & `pointerUp`) :simple-appium:
391
+ * :octicons-arrow-right-24: `mobile: touchAndHold` execute method :material-apple:
392
+ * :octicons-arrow-right-24: `mobile: longClickGesture` execute method :material-android:
393
+ * :octicons-arrow-right-24: `mobile: clickAction` execute method :material-coffee:
394
+ * :octicons-arrow-right-24: `macos: press` execute method :material-apple-finder:
395
+ * :octicons-arrow-right-24: `windows: click` execute method :material-microsoft-windows:
396
+ * `POST /session/:sessionId/touch/multi/perform`
397
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
398
+ * :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
399
+ * `POST /session/:sessionId/touch/move`
400
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
401
+ * :octicons-arrow-right-24: W3C Actions API (`pointerMove`) :simple-appium:
402
+ * Selenium-based clients can also use [Move by Offset](https://www.selenium.dev/documentation/webdriver/actions_api/mouse/#move-by-offset)
403
+ * `POST /session/:sessionId/touch/perform`
404
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
405
+ * :octicons-arrow-right-24: `POST /session/:sessionId/actions` :simple-appium:
406
+ * `POST /session/:sessionId/touch/scroll`
407
+ * :octicons-arrow-right-24: W3C Actions API (`pointerDown`, `pointerMove` & `pointerUp`) :simple-appium:
408
+ * :octicons-arrow-right-24: `mobile: scroll` or `mobile: swipe` execute methods :material-apple:
409
+ * :octicons-arrow-right-24: `mobile: scrollGesture` or `mobile: swipeGesture` execute methods :material-android:
410
+ * :octicons-arrow-right-24: `mobile: swipe` execute method :material-coffee:
411
+ * :octicons-arrow-right-24: `macos: scroll` or `macos: swipe` execute methods :material-apple-finder:
412
+ * :octicons-arrow-right-24: `windows: scroll` execute method :material-microsoft-windows:
413
+ * `POST /session/:sessionId/touch/up`
414
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
415
+ * :octicons-arrow-right-24: W3C Actions API (`pointerUp`) :simple-appium:
416
+ * :octicons-arrow-right-24: `windows: keys` execute method :material-microsoft-windows:
417
+ * `GET /session/:sessionId/window_handle`
418
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
419
+ * :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
420
+ * `GET /session/:sessionId/window_handles`
421
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
422
+ * :octicons-arrow-right-24: `GET /session/:sessionId/window/handles` :simple-appium:
423
+ * `GET /session/:sessionId/window/handle`
424
+ * :octicons-arrow-right-24: `GET /session/:sessionId/window` :simple-appium:
425
+ * `POST /session/:sessionId/window/:windowhandle/maximize`
426
+ * :octicons-arrow-right-24: `POST /session/:sessionId/window/maximize` :simple-appium:
427
+ * :fontawesome-solid-triangle-exclamation: Only supported for the current window
428
+ * `GET /session/:sessionId/window/:windowhandle/position`
429
+ * :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
430
+ * :fontawesome-solid-triangle-exclamation: Only supported for the current window
431
+ * `POST /session/:sessionId/window/:windowhandle/position`
432
+ * :octicons-arrow-right-24: `POST /session/:sessionId/window/rect` :simple-appium:
433
+ * :fontawesome-solid-triangle-exclamation: Only supported for the current window
434
+ * `GET /session/:sessionId/window/:windowhandle/size`
435
+ * :octicons-check-24: Moved to drivers: :material-microsoft-windows:
436
+ * :octicons-arrow-right-24: `GET /session/:sessionId/window/rect` :simple-appium:
437
+ * :fontawesome-solid-triangle-exclamation: Only supported for the current window
438
+
439
+ ### Modified
440
+
441
+ The following are all endpoints modified in Appium 3, by removing handling for old or unused
442
+ parameters (note that no new parameters have been added). Each endpoint lists the parameters it no
443
+ longer accepts, as well as the parameters it continues to accept in Appium 3.
444
+
445
+ * `POST /session`
446
+ * :octicons-x-24: `desiredCapabilities`, `requiredCapabilities`
447
+ * :octicons-check-24: `capabilities`
448
+ * `POST /session/:sessionId/alert/text`
449
+ * :octicons-x-24: `value`
450
+ * :octicons-check-24: `text`
451
+ * `GET /session/:sessionId/appium/device/system_time`
452
+ * :octicons-x-24: `format`
453
+ * :octicons-check-24: None
454
+ * `POST /session/:sessionId/element/:elementId/value`
455
+ * :octicons-x-24: `value`
456
+ * :octicons-check-24: `text`
457
+ * `POST /session/:sessionId/timeouts`
458
+ * :octicons-x-24: `type`, `ms`
459
+ * :octicons-check-24: `script`, `pageLoad`, `implicit`
460
+ * `POST /session/:sessionId/window`
461
+ * :octicons-x-24: `name`
462
+ * :octicons-check-24: `handle`
463
+
464
+ [^sim]: Supported in emulators/simulators only
@@ -0,0 +1,89 @@
1
+ ---
2
+ title: Appium Server Security
3
+ ---
4
+
5
+ The Appium team makes every effort to ensure the security of the Appium server. This is especially
6
+ important when Appium is run in a multitenant environment, or when multiple users are running
7
+ sessions on the same Appium server. In general, you can only safely enable all Appium's features if
8
+ all the following are true:
9
+
10
+ - You're running your own Appium server locally or within a protected internal network
11
+ - You're not sharing it with any untrusted parties
12
+ - You don't expose Appium's port(s) to the wider internet
13
+
14
+ But because many Appium users might not be able to guarantee such a safe environment, the Appium
15
+ team puts many features behind a security protection mechanism which forces system admins (the
16
+ people that are in charge of starting the Appium server) to _explicitly opt-in_ to these features.
17
+ (Third-party driver and plugin authors can also [hide behaviour behind security
18
+ flags](../developing/build-drivers.md).)
19
+
20
+ For security reasons, Appium client sessions can _not_ request feature enablement via capabilities;
21
+ this is the responsibility of the server admin who configures and launches the Appium server.
22
+
23
+ ## Security Server Args
24
+
25
+ The [Server CLI](../reference/cli/server.md) doc outlines three relevant arguments which may be passed to
26
+ Appium when starting it from the command line:
27
+
28
+ |<div style="width:10em">Parameter</div>|Description|
29
+ |---------------------------------------|-----------|
30
+ |`--relaxed-security`|Turns on _all_ insecure features, except those blocked by `--deny-insecure`|
31
+ |`--allow-insecure`|Turns on _only_ specified features, except those blocked by `--deny-insecure`. Has no effect when used in combination with `--relaxed-security`|
32
+ |`--deny-insecure`|Explicitly turns _off_ specified features, overriding `--relaxed-security` and `--allow-insecure`|
33
+
34
+ All of the above arguments can also be specified in the [Appium Configuration file](./config.md).
35
+
36
+ Features passed to `--allow-insecure`/`--deny-insecure` must be specified as a comma-separated list,
37
+ and each feature in the list must additionally include a prefix, indicating the driver to which the
38
+ feature should apply. The prefix can be either the driver's `automationName`, or the wildcard (`*`)
39
+ symbol, if the feature should be applied to all drivers. The prefix and feature name are separated
40
+ using the colon character (`:`).
41
+
42
+ For example, `first:foo` refers to the `foo` feature for the `first` driver, whereas `*:bar` refers
43
+ to the `bar` feature for all drivers.
44
+
45
+ ## Insecure Features
46
+
47
+ Each Appium driver is responsible for its own security, and can create its own feature names. Thus
48
+ you should read through the documentation for a particular driver to know which feature names it
49
+ might use. Here is an incomplete list of examples from some of Appium's official drivers:
50
+
51
+ |<div style="width:12em">Feature Name</div>|Description|Supported Extension(s)|
52
+ |------------|-----------|-------|
53
+ |`get_server_logs`|Allows retrieving of Appium server logs via the Webdriver log interface|IOS, XCUITest, Android, UiAutomator2, Espresso|
54
+ |`adb_shell`|Allows execution of arbitrary shell commands via ADB, using the `mobile: shell` command|Android, UiAutomator2, Espresso|
55
+ |`record_audio`|Allow recording of host machine audio inputs|XCUITest|
56
+ |`execute_driver_script`| Allows to send a request which has multiple Appium commands.|Execute Driver Plugin|
57
+
58
+ Some insecure features operate on the server level, and do not require a driver session. Enabling
59
+ these features requires using the wildcard prefix:
60
+
61
+ |<div style="width:12em">Feature Name</div>|Description|
62
+ |------------|-----------|
63
+ |`session_discovery`|Allows retrieving the list of active server sessions via `GET /appium/sessions`|
64
+
65
+ ## Examples
66
+
67
+ Turn on the `foo` feature only for the `first` driver:
68
+
69
+ ```bash
70
+ appium --allow-insecure=first:foo
71
+ ```
72
+
73
+ Turn on the `foo` feature for all drivers:
74
+
75
+ ```bash
76
+ appium --allow-insecure=*:foo
77
+ ```
78
+
79
+ Turn on the `foo` feature for all drivers _except_ `first`:
80
+
81
+ ```bash
82
+ appium --allow-insecure=*:foo --deny-insecure=first:foo
83
+ ```
84
+
85
+ Turn on all features _except_ `foo` for all drivers:
86
+
87
+ ```bash
88
+ appium --relaxed-security --deny-insecure=*:foo
89
+ ```
@@ -0,0 +1,68 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Session Settings
6
+ ---
7
+
8
+ Appium has a set of extension APIs that allow you to adjust parameters for a given session during
9
+ the session itself. Called "Settings", these parameters are similar to [Capabilities](./caps.md),
10
+ but while Capabilities _cannot be adjusted_ once a session has started, Settings _can be adjusted any
11
+ number of times_ during the course of a session.
12
+
13
+ There are 3 important points to the concept of Settings:
14
+
15
+ - Settings are mutable; they can be changed during a session using the Settings API
16
+ - Settings are only relevant during the session in which they are set. They are typically reset for
17
+ each new session, though depending on the driver, some settings may persist between sessions
18
+ - Settings only adjust the way the Appium server behaves during test automation. They do not affect
19
+ the device or app under test
20
+
21
+ An example of a setting would be the `ignoreUnimportantViews` setting recognized by the UiAutomator2
22
+ driver. The driver can be instructed to ignore elements in the view hierarchy which it deems
23
+ irrelevant. Changing this setting to `true` can cause tests to run faster. But if later in the same
24
+ session you _want_ to access elements which would be ignored under this setting, you can always
25
+ change it back to `false`.
26
+
27
+ Settings are implemented via the following API endpoints:
28
+
29
+ | Command | <div style="width:18em">Method/Route</div> | Params | Description | Returns |
30
+ |-------------------|---------------------------------------------|------------------------------------|------------------------------------|------------------------------------|
31
+ | `Update Settings` | `POST /session/:id/appium/settings` | `settings` (`Record<string, any>`) | Update the provided setting values | `null` |
32
+ | `Get Settings` | `GET /session/:id/appium/settings` | | Return the current settings | `settings` (`Record<string, any>`) |
33
+
34
+ The `settings` object must be a set of keys and values, where the key is the setting name, and the
35
+ value is any documented valid value for that setting.
36
+
37
+ !!! info
38
+
39
+ Settings are driver-specific, so refer to your driver's documentation for a list of supported settings
40
+
41
+ ## Initializing Settings via Capabilities
42
+
43
+ If you want to start an Appium session with a setting in a non-default state, you can do so by
44
+ including a capability of the form `appium:settings[<name>]` with the appropriate value. So to turn
45
+ on the `ignoreUnimportantViews` setting mentioned above from the very beginning of a session, you
46
+ would construct a set of capabilities that includes the following in its JSON representation:
47
+
48
+ ```json
49
+ {
50
+ "appium:settings[ignoreUnimportantViews]": true
51
+ }
52
+ ```
53
+
54
+ Also, since Appium 2.1, there is a possibility to provide multiple settings in a single
55
+ `appium:settings` capability value:
56
+
57
+ ```json
58
+ {
59
+ "appium:settings": {
60
+ "ignoreUnimportantViews": true,
61
+ "allowInvisibleElements": true
62
+ }
63
+ }
64
+ ```
65
+
66
+ Of course, initializing a setting via capabilities doesn't prevent you from changing it later on
67
+ via the Settings API. To learn more about how to use the Settings API in the context of your
68
+ specific client library, visit the documentation for that client.