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,196 @@
1
+ ---
2
+ title: Appium Project History
3
+ ---
4
+
5
+ Appium has been around in one form or another since 2012. It's been under the
6
+ direction of various individuals and organizations, and it's even been
7
+ implemented in 3 different programming languages! Welcome to more than you ever
8
+ wanted to know about how Appium got to be what is it today...
9
+
10
+ ## Early Inspiration
11
+
12
+ [Dan Cuellar](https://twitter.com/thedancuellar) was the Test Manager at Zoosk
13
+ in 2011, when he encountered a problem. The length of the test passes on the
14
+ iOS product was getting out of hand. Less testing was an option, but would come
15
+ with additional risk, especially with it taking several days to get patches
16
+ through the iOS App Store Review process. He thought back to his days working
17
+ on websites and realized automation was the answer.
18
+
19
+ Dan surveyed the existing landscape of tools, only to find that all of them
20
+ hand major drawbacks. The tool supplied by Apple, UIAutomation, required tests
21
+ to be written in JavaScript, and did not allow for real-time debugging or
22
+ interpretation. It also had to be executed inside the Xcode profiling tool,
23
+ Instruments. Other 3rd-party tools used private APIs and required SDKs and HTTP
24
+ Servers to be embedded into the application. This seemed highly undesirable.
25
+
26
+ Unsatisfied with the existing options, Dan asked his manager for some
27
+ additional time to see if he could find a better way. He spent 2 weeks poking
28
+ and prodding around to see if there was a way to use approved Apple
29
+ technologies to automate an iOS application. The first implementation he tried
30
+ used AppleScript to send messages to Mac UI elements using the OS
31
+ X accessibility APIs. This worked to some degree, but would never work on real
32
+ devices, not to mention other drawbacks.
33
+
34
+ So he thought, what if I could get the UIAutomation framework to run in real
35
+ time like an interpreter? He looked into it and he determined that all he would
36
+ need to do is find a way to receive, execute, and reply to commands from within
37
+ a UIAutomation javascript program. Using the utility Apple provided for
38
+ executing shell commands he was able to `cat` sequentially ordered text files
39
+ to receive commands, `eval()` the output to execute them, and write them back
40
+ to disk with `python`. He then prepared code in C# that implemented the
41
+ Selenium-style syntax to write the sequentially ordered javascript commands.
42
+ iOSAuto is born.
43
+
44
+ ## Selenium Conference 2012
45
+
46
+ Dan was selected to speak at Selenium Conference 2012 in London about an
47
+ entirely different topic. As part of his presentation, he showed off iOS
48
+ Automation using Selenium syntax to demonstrate writing platform-agnostic tests
49
+ that use separate platform-specific page objects with a common interface. To
50
+ his surprise, the cool test architecture would take a backseat to the spectacle
51
+ of iOS tests running like WebDriver tests. Several people suggested that he
52
+ give a lightning talk later in the conference to explain exactly how it worked.
53
+
54
+ On the second day of the conference, Dan stepped up on stage to give the
55
+ lightning talk. Jason Huggins, co-creator of Selenium, moderated the lightning
56
+ talks. Dan experienced technical difficulties getting his presentation to
57
+ load, and Jason nearly had to move on to the next lightning talk. At the last
58
+ moment, the screen turned on and Dan jumped into his presentation. He explained
59
+ the details of his implementation and how it worked, begged for contributors,
60
+ and in five minutes it was over. The crowd applauded politely, and he left the
61
+ stage.
62
+
63
+ ## The Phone Rings
64
+
65
+ Four months after the Selenium Conference, Jason called Dan. Jason had been
66
+ working on iOS testing support for a client at Sauce Labs. Jason remembered
67
+ Dan's lightning talk and thought the project might be useful to Jason's work,
68
+ but Dan's source code was not public. Jason asked Dan to meet up. Later that
69
+ week, Dan met Jason in a bar in San Francisco and showed him the source code
70
+ for iOS Auto.
71
+
72
+ A long-time open source advocate, Jason encouraged Dan to release his code
73
+ under an open source license. In August, Dan released the source
74
+ code
75
+ on GitHub in C#. Jason encouraged Dan to change the language to make the
76
+ project more appealing to potential contributors. Dan uploaded a new version
77
+ in
78
+ Python.
79
+ In September, Jason added a web server and began to implement the WebDriver
80
+ wire
81
+ protocol
82
+ over HTTP, making iOS Auto scriptable from any Selenium WebDriver client
83
+ library in any language.
84
+
85
+ ## The Mobile Testing Summit
86
+
87
+ Jason decided that the project should be presented at the Mobile Testing
88
+ Summit in November, but suggested that the
89
+ project get a new name first. Many ideas were thrown out and they settled on
90
+ AppleCart. A day later, while he was perusing some of Apple's guidance on
91
+ copyright and trademarks, Jason noticed that under the section of examples for
92
+ names Apple would defend its trademarks against, the first example was
93
+ "AppleCart". He called Dan and informed him of the situation, and they
94
+ brainstormed for a bit before Jason hit the jackpot. Appium... Selenium for
95
+ Apps.
96
+
97
+ ## Sauce Labs and Node.js
98
+
99
+ In January 2013, not long after the Mobile Testing Summit, Sauce Labs decided
100
+ to fully back Appium and provide more developer power. A task force was created
101
+ to evaluate the current state and how best to move forward with the project.
102
+ The team, which included Jonathan Lipps (the current project lead), decided
103
+ that Appium needed a rebirth, and ultimately settled on Node.js as the
104
+ framework to use. Node is well-known as a fast and efficient web server
105
+ backend, and at the end of the day, Appium is just a highly-specialized web
106
+ server. It was also decided that JavaScript as a language was accessible enough
107
+ that Appium would be able to grow into a larger community of open-source
108
+ developers with JavaScript than the other options on the table.
109
+
110
+ In just a few days, the team leveraged the existing work on Appium and had
111
+ a new version of Appium with as much functionality as the previous Python
112
+ version. The foundation had been laid for Appium's basic architecture, and we
113
+ have been successfully building on it since. A few weeks into this sprint,
114
+ Jonathan Lipps was formally designated project lead and he began to strategize
115
+ how to get more people from the community involved with Appium's development.
116
+
117
+ ## Appium Around the World
118
+
119
+ Ultimately, Jonathan decided that getting Appium in front of as many developers
120
+ at conferences and meetups was the best way to attract users and contributions.
121
+ Appium in its new incarnation was debuted at the Google Test Automation
122
+ Conference 2013. Later in 2013,
123
+ Appium was presented at conferences and meetups all around the US, as well as
124
+ in England, Poland, Portugal, and Australia. Notably, Jonathan had Appium
125
+ [perform as instruments in a band](https://www.youtube.com/watch?v=zsbNVkayYRQ)
126
+ and Dan Cuellar put together a fun Appium video
127
+ montage for Selenium Conference.
128
+
129
+ But during all these presentations and conferences, the project continued to
130
+ develop. Early in 2013 we released Android and Selendroid support, making
131
+ Appium the first truly cross-platform automation framework. The project also
132
+ continued to attract users and contributors, and by the end of 2013, we'd
133
+ already had well over 1,000 commits.
134
+
135
+ ## The Road to Appium 1.0
136
+
137
+ Appium began to grow and mature significantly. In May 2014,
138
+ we released Appium 1.0, which stood as a milestone in Appium's development.
139
+ Appium was given
140
+ [various](https://www.prnewswire.com/news-releases/black-duck-announces-black-duck-open-source-rookies-of-the-year-winners-242383341.html)
141
+ [awards](https://www.infoworld.com/article/2241247/164642-bossie-awards-2014-the-best-open-source-application-development-tools.html)
142
+ and became the most popular open-source cross-platform mobile automation
143
+ framework. Stability improved, bugs were prioritized and fixed, and features
144
+ added. Sauce Labs increased the number of developers it donated to working
145
+ on Appium, but the entire community stayed involved in guiding the project and
146
+ contributing to it, and project governance continued to happen in the open, on
147
+ public mailing lists and GitHub's issue tracker.
148
+
149
+ ## The Appium Umbrella Broadens
150
+
151
+ Eventually, it became clear that the Appium codebase was not optimized for
152
+ a large team of distributed, sometime contributors. We took the opportunity as
153
+ a committer team to rewrite Appium from the ground up, using a more modern
154
+ version of the JavaScript language, and redoing Appium's architecture so that
155
+ it was easy for users or third-party developers to build their own Appium
156
+ "drivers". We wanted for it to be easier for new contributors to get ramped up
157
+ on the Appium codebase, and to see support for new platforms added to Appium by
158
+ groups other than the core team. That vision has begun to be fulfilled, with
159
+ groups like Microsoft and Youi.tv adding drivers to Appium for Windows desktop
160
+ app automation and Youi.tv app automation, respectively.
161
+
162
+ ## Appium To The People
163
+
164
+ In late 2016, Sauce Labs donated Appium as a project to the JS
165
+ Foundation, in order to cement for the world Sauce's
166
+ commitment that Appium remains open source. The JS Foundation is a non-profit
167
+ open source stewardship organization which takes responsibility for holding the
168
+ copyright for open source projects, as well as ensuring they have a long and
169
+ successful tenure in the community. As a result of our move to a non-profit
170
+ foundation, we hope that the door will open even more widely for new
171
+ contributors, either as individuals or representing one of the many companies
172
+ which now have an interest in seeing Appium move forward.
173
+
174
+ Eventually, the JS Foundation merged into the [OpenJS Foundation](https://openjsf.org),
175
+ and Appium became an Impact Project in the foundation.
176
+
177
+ ## Appium 2.0
178
+
179
+ Appium 2 was released in 2023 and introduced an entirely revamped architecture, shifting focus to Appium
180
+ as an ecosystem rather than an all-in-one project. This unlocked the ability for anyone to develop
181
+ and share their own Appium extensions (drivers and plugins), opening up a world of possibilities
182
+ for automation-related development for platforms far beyond iOS and Android! As a result,
183
+ many third-party extensions were created, such as new drivers for Flutter and Windows, plugins for
184
+ mocking APIs and managing device farms, new Appium clients based on Rust and Swift, and much more.
185
+
186
+ Around this time was also when we started a sponsorship program for Appium, which attracted various
187
+ major and minor sponsors alike. This allowed us to give back to the Appium community, by compensating
188
+ contributors for their voluntary work on the project.
189
+
190
+ ## Appium 3.0
191
+
192
+ 2025 saw the release of Appium 3. This update was a lot smaller than Appium 2 and included only a
193
+ few behavioral changes, instead focusing on removing deprecated code and updating compatibility for
194
+ more modern ecosystems. Still, this reduced scope was also to be expected: since Appium 2, the
195
+ main feature development efforts had shifted to individual drivers and plugins, many of which had
196
+ gone through multiple major updates during the Appium 2 era.
@@ -0,0 +1,39 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Appium in a Nutshell
6
+ ---
7
+
8
+ As mentioned on the main page, Appium aims to support UI automation of many _different platforms_
9
+ (mobile, web, desktop, etc.). Not only that, but it also aims to support automation code written in
10
+ _different languages_ (JS, Java, Python, etc.). Combining all of this functionality in a single
11
+ program is a very daunting, if not impossible task!
12
+
13
+ In order to achieve this, Appium is effectively split into four parts:
14
+
15
+ <div class="grid cards" markdown>
16
+
17
+ - :material-image-filter-center-focus-strong: **Appium Core** - defines the core APIs
18
+ - :material-car: **Drivers** - implement connectivity to specific platforms
19
+ - :octicons-code-16: **Clients** - implement Appium's API in specific languages
20
+ - :fontawesome-solid-plug: **Plugins** - change or extend Appium's core functionality
21
+
22
+ </div>
23
+
24
+ Therefore, in order to start automating something with Appium, you need to:
25
+
26
+ - Install Appium itself
27
+ - Install a driver for your target platform
28
+ - Install a client library for your target programming language
29
+ - (Optional) install one or more plugins
30
+
31
+ These are the basics! If you are ready to jump in, proceed with the [Quickstart](../quickstart/index.md)!
32
+
33
+ If you wish to learn more details about how it all works, see these pages for background material:
34
+
35
+ - [Appium Core](./appium.md)
36
+ - [Appium Drivers](./drivers.md)
37
+ - [Appium Clients](./clients.md)
38
+
39
+ Finally, to learn about the origins of Appium, check out the [Appium Project History](./history.md).
@@ -0,0 +1,23 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Getting Started
6
+ ---
7
+
8
+ さっそくAppiumを使ってみましょう! このクイックスタートをうまく使うために、[はじめに](../intro/index.md)を読み、Appiumの実行やスクリプトの記述に関わる概念を理解することをお勧めします。
9
+
10
+ このクイックスタートは以下の通り進めます:
11
+
12
+ 1. Appiumをインストールする
13
+ 2. Appiumドライバーとその依存関係をインストールする
14
+ - このガイドでは、[UiAutomator2 driver](https://github.com/appium/appium-uiautomator2-driver) について説明します
15
+ 3. お好みの言語でAppiumクライアント・ライブラリをインストールする
16
+ - このガイドでは、JavaScript、Python、Java、Ruby、.NETの例で説明します
17
+ 4. サンプルアプリケーションを使用した簡単なAppiumでの自動化スクリプトの作成と実行
18
+
19
+ ### 必要条件
20
+
21
+ 始める前に、お使いのシステムが[要件](../quickstart/requirements.md) を満たしていることを確認してください。 追加要件については、UiAutomator2 ドライバーのインストールと合わせて説明します。 また、このガイドでは基本的なコマンド実行や環境変数の設定と保持などができることを前提としています。
22
+
23
+ さあ、これで準備は整いました! [Appiumのインストール](./install.md)に進んでください。
@@ -0,0 +1,47 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Appiumをインストールする
6
+ ---
7
+
8
+ !!! info
9
+
10
+ ```
11
+ インストールする前に[システム要件](./requirements.md)を満たしているか確認してください。
12
+ ```
13
+
14
+ Appium は `npm` を使用してグローバルにインストールできます:
15
+
16
+ ```bash
17
+ npm install -g appium
18
+ ```
19
+
20
+ !!! note
21
+
22
+ ```
23
+ 他のパッケージマネージャーは現在サポートされていません。
24
+ ```
25
+
26
+ ## Appiumを実行する
27
+
28
+ Appium can be started [using the command line](../reference/cli/index.md):
29
+
30
+ ```
31
+ appium
32
+ ```
33
+
34
+ このコマンドはインストールされているAppiumドライバーをすべて読み込むAppiumサーバープロセスを起動し、クライアント接続(テスト自動化スクリプトなど)から新規セッションの開始要求を待ちます。
35
+ サーバープロセスはクライアントから独立しているため、新しいセッションを開始する前に明示的に起動する必要があります。
36
+
37
+ サーバーが起動すると、コンソールログに、クライアントがこのサーバーに接続するために使用できる有効なURLがすべてリストされます:
38
+
39
+ ```
40
+ [Appium] You can provide the following URLs in your client code to connect to this server:
41
+ [Appium] http://127.0.0.1:4723/ (only accessible from the same host)
42
+ (... any other URLs ...)
43
+ ```
44
+
45
+ クライアントが新規セッションを要求すると、Appium サーバープロセスは、このセッションが終了するまで、このセッションに関するすべての詳細のログ記録を開始します。 覚えておいてください。Appium テストで問題が発生した場合は、いつでもサーバー ログで詳細を確認できます。
46
+
47
+ 次は何でしょうか? Appium はインストールされて実行されていますが、ドライバーがバンドルされていないため、まだ何も自動化できません。 そこで、Android向けに自動化を設定します。[Installing the UiAutomator2 Driver](./uiauto2-driver.md)へ続く。
@@ -0,0 +1,19 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: 次のステップ
6
+ ---
7
+
8
+ Android自動化用のシステムの設定と簡単なテストの実行が完了したら、このドキュメントを引き続き参照してください。 特に初心者にとって、これらは優れたガイドと参考資料です:
9
+
10
+ - [エコシステム](../ecosystem/index.md) ページ: 利用可能なドライバー、クライアント、プラグイン、ツールを見る
11
+ - [Appium ドライバーとプラグインの管理](../guides/managing-exts.md)
12
+ - [Capabilities](../guides/caps.md)
13
+ - [Settings](../guides/settings.md)
14
+
15
+ また、[Appium Inspector](https://github.com/appium/appium-inspector) は、アプリの視覚的な検査を可能にし、テストスクリプトで使用する要素ロケーターを見つけるのに役立つ、Appium テストの作成に不可欠なツールです。
16
+
17
+ また、多くのオンライン Appium コースもご活用いただけます。
18
+
19
+ 頑張って楽しんでください!
@@ -0,0 +1,29 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: System Requirements
6
+ ---
7
+
8
+ The basic requirements for the Appium server are:
9
+
10
+ - A macOS, Linux, or Windows operating system
11
+ - [Node.js](https://nodejs.org) version in the [SemVer](https://semver.org) range `^20.19.0 || ^22.12.0 || >=24.0.0`
12
+ - LTS is recommended
13
+ - [`npm`](https://npmjs.com) version `>=10` (`npm` is usually bundled with Node.js, but can be upgraded
14
+ independently)
15
+
16
+ By itself, Appium is relatively lightweight and doesn't have significant disk space or RAM
17
+ requirements. It can even be run in resource-constrained environments like Raspberry Pi, so long as
18
+ Node.js is available.
19
+
20
+ ### Driver Requirements
21
+
22
+ Drivers for automating specific platforms will likely have other requirements. Refer to the
23
+ documentation of the [Appium driver(s)](../ecosystem/drivers.md) for that platform for additional
24
+ dependencies. It is almost universally the case that Appium drivers for a given platform will
25
+ require the developer toolchain and SDKs for that platform to be installed.
26
+
27
+ In order to assist with driver requirements, each (official) driver comes with the Appium Doctor tool,
28
+ which allows to verify if all requirements have been set up. Learn more about how to use this tool in
29
+ the [Command-Line Usage documentation](../reference/cli/extensions.md#doctor).
@@ -0,0 +1,107 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Write a Test (.NET)
6
+ ---
7
+
8
+ The [Appium .NET Client](https://github.com/appium/dotnet-client/) is
9
+ an official Appium client in C#. This driver is an extension of the Selenium C# client. It has all the functionalities of the regular driver, but add Appium-specific methods on top of this. The driver is available on the public NuGet Gallery as [Appium.WebDriver](https://www.nuget.org/packages/Appium.WebDriver/).
10
+
11
+ Now, we get inside the directory and create a new [NUnit](https://nunit.org/) project. We will also add the references to the Appium.Net driver, and other dependencies.
12
+
13
+ ```bash
14
+ cd dotnet-client
15
+ dotnet new nunit --name appiumtest
16
+
17
+ cd appiumtest
18
+
19
+ # This will install the latest 5.x version
20
+ dotnet add package Appium.WebDriver --prerelease
21
+ dotnet add package Newtonsoft.Json --version 13.0.3
22
+ ```
23
+
24
+ Once this is done, your project should have a placeholder file `UnitTest1.cs`. We will replace the code to include the OpenQA namespaces, an initialization of the driver, and the actual test.
25
+
26
+ ```C# title="UnitTest1.cs"
27
+ using OpenQA.Selenium;
28
+ using OpenQA.Selenium.Appium;
29
+ using OpenQA.Selenium.Appium.Android;
30
+ using OpenQA.Selenium.Appium.Enums;
31
+
32
+ namespace appiumtest;
33
+
34
+ public class Tests
35
+ {
36
+ private AndroidDriver _driver;
37
+
38
+ [OneTimeSetUp]
39
+ public void SetUp()
40
+ {
41
+ var serverUri = new Uri(Environment.GetEnvironmentVariable("APPIUM_HOST") ?? "http://127.0.0.1:4723/");
42
+ var driverOptions = new AppiumOptions() {
43
+ AutomationName = AutomationName.AndroidUIAutomator2,
44
+ PlatformName = "Android",
45
+ DeviceName = "Android Emulator",
46
+ };
47
+
48
+ driverOptions.AddAdditionalAppiumOption("appPackage", "com.android.settings");
49
+ driverOptions.AddAdditionalAppiumOption("appActivity", ".Settings");
50
+ // NoReset assumes the app com.google.android is preinstalled on the emulator
51
+ driverOptions.AddAdditionalAppiumOption("noReset", true);
52
+
53
+ _driver = new AndroidDriver(serverUri, driverOptions, TimeSpan.FromSeconds(180));
54
+ _driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
55
+ }
56
+
57
+ [OneTimeTearDown]
58
+ public void TearDown()
59
+ {
60
+ _driver.Dispose();
61
+ }
62
+
63
+ [Test]
64
+ public void TestFindApps()
65
+ {
66
+ _driver.StartActivity("com.android.settings", ".Settings");
67
+ _driver.FindElement(By.XPath("//*[@text='Apps']")).Click();
68
+ }
69
+ }
70
+ ```
71
+
72
+ !!! note
73
+
74
+ ```
75
+ It's not within the scope of this guide to give a complete run-down on the dotnet client
76
+ library or everything that's happening here, so we'll leave the code itself unexplained in
77
+ detail for now. You may want to read up particularly on Appium
78
+ [Capabilities](../guides/caps.md) in addition to familiarizing yourself with the
79
+ [dotnet client driver documentation](https://github.com/appium/dotnet-client/) for a fuller explanation
80
+ of the various API commands you see and what their purpose is.
81
+ ```
82
+
83
+ Basically, this code is doing the following:
84
+
85
+ 1. Defining a set of "Capabilities" (parameters) to send to the Appium server so Appium knows what
86
+ kind of thing you want to automate. Some of these parameters can be overridden using environment variables.
87
+ 2. Starting an Appium session on the built-in Android settings app.
88
+ 3. Finding the "Apps" list item and clicking it.
89
+ 4. Ending the Appium session.
90
+
91
+ That's it! Let's give it a try. Before you run the test, make sure that you have an Appium server
92
+ running in another terminal session, otherwise you'll get an error about not being able to connect
93
+ to one. Then, you can execute the script:
94
+
95
+ ```bash
96
+ dotnet test
97
+
98
+ # Example output:
99
+ # Starting test execution, please wait...
100
+ # A total of 1 test files matched the specified pattern.
101
+
102
+ # Passed! - Failed: 0, Passed: 1, Skipped: 0, Total: 1, Duration: 323 ms - appiumtest.dll (net7.0)
103
+ ```
104
+
105
+ If all goes well, you'll see the Settings app open up and navigate to the "Apps" view in the emulator before the app closes again.
106
+
107
+ Congratulations, you've started your Appium journey! Read on for some [next steps](./next-steps.md) to explore.
@@ -0,0 +1,23 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Write a Test (Java)
6
+ ---
7
+
8
+ The Appium team maintains an official [client](https://github.com/appium/java-client) for the Java programming language.
9
+ It is built on top of [Selenium](https://github.com/SeleniumHQ/selenium).
10
+ You can also use this client in your Kotlin projects.
11
+
12
+ Follow the [Add Appium java client to your test framework](https://github.com/appium/java-client#add-appium-java-client-to-your-test-framework)
13
+ tutorial in order to connect the library to your test framework sources.
14
+
15
+ The Appium Java client has dedicated classes to support most of the official Appium drivers. For other drivers
16
+ you could simply use the [AppiumDriver](https://github.com/appium/java-client/blob/master/src/main/java/io/appium/java_client/AppiumDriver.java) class
17
+ or build your custom derivatives from it. Check the [Drivers Support](https://github.com/appium/java-client#drivers-support)
18
+ article to learn more about the current driver class implementations.
19
+
20
+ Follow the [Usage Examples](https://github.com/appium/java-client#usage-examples) article in order understand
21
+ how to invoke Java client features from your test framework.
22
+
23
+ Once you've managed to successfully run a test, you can read on for some [next steps](./next-steps.md) to explore.
@@ -0,0 +1,77 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Write a Test (JS)
6
+ ---
7
+
8
+ To write an Appium test in JavaScript (Node.js), we need to choose an Appium-compatible client
9
+ library. The best-maintained library and the one the Appium team recommends using is
10
+ [WebdriverIO](https://webdriver.io), so let's use that. Since we already have Appium installed we
11
+ know our Node and NPM requirements are already satisfied. So just create a new project directory
12
+ somewhere on your computer and then initialize a new Node.js project in it:
13
+
14
+ ```bash
15
+ npm init
16
+ ```
17
+
18
+ It doesn't really matter what you put in the prompts, just so long as you end up with a valid
19
+ `package.json`.
20
+
21
+ Now, install the `webdriverio` package via NPM:
22
+
23
+ ```bash
24
+ npm i --save-dev webdriverio
25
+ ```
26
+
27
+ Once this is done, your `package.json` file should include a section like the following:
28
+
29
+ ```json title="package.json"
30
+ --8<-- "./sample-code/quickstarts/js/package.json"
31
+ ```
32
+
33
+ Now it's time to type up the test itself. Create a new file called `test.js` with the following
34
+ contents:
35
+
36
+ ```js title="test.js"
37
+ --8<-- "./sample-code/quickstarts/js/test.js"
38
+ ```
39
+
40
+ !!! note
41
+
42
+ ```
43
+ It's not within the scope of this guide to give a complete run-down on the WebdriverIO client
44
+ library or everything that's happening here, so we'll leave the code itself unexplained in
45
+ detail for now. You may want to read up particularly on Appium
46
+ [Capabilities](../guides/caps.md) in addition to familiarizing yourself with the excellent
47
+ [WebdriverIO documentation](https://webdriver.io/docs/gettingstarted) for a fuller explanation
48
+ of the various API commands you see and what their purpose is.
49
+ ```
50
+
51
+ !!! note
52
+
53
+ ```
54
+ The sample code is available from [GitHub Appium repository](https://github.com/appium/appium/tree/master/packages/appium/sample-code/quickstarts/js).
55
+ ```
56
+
57
+ Basically, this code is doing the following:
58
+
59
+ 1. Defining a set of "Capabilities" (parameters) to send to the Appium server so Appium knows what
60
+ kind of thing you want to automate.
61
+ 2. Starting an Appium session on the built-in Android settings app.
62
+ 3. Finding the "Apps" list item and clicking it.
63
+ 4. Pausing for a moment purely for visual effect.
64
+ 5. Ending the Appium session.
65
+
66
+ That's it! Let's give it a try. Before you run the test, make sure that you have an Appium server
67
+ running in another terminal session, otherwise you'll get an error about not being able to connect
68
+ to one. Then, you can execute the script:
69
+
70
+ ```bash
71
+ node test.js
72
+ ```
73
+
74
+ If all goes well, you'll see the Settings app open up and navigate to the "Apps" view before the
75
+ app closes again.
76
+
77
+ Congratulations, you've started your Appium journey! Read on for some [next steps](./next-steps.md) to explore.
@@ -0,0 +1,63 @@
1
+ ---
2
+ hide:
3
+ - toc
4
+
5
+ title: Write a Test (Python)
6
+ ---
7
+
8
+ The [Appium Python Client](https://github.com/appium/python-client) is
9
+ an official Appium client in Python, which is available via pypi under the [Appium-Python-Client](https://pypi.org/project/Appium-Python-Client/) package name.
10
+ It inherits from the [Selenium Python Binding](https://pypi.org/project/selenium/),
11
+ so installing the Appium Python Client includes the selenium binding.
12
+
13
+ ```bash
14
+ pip install Appium-Python-Client
15
+ ```
16
+
17
+ This example uses Python's built-in `unittest` module, though you can use any Python test framework you want.
18
+ The Appium Python client adds the `appium:` vendor prefix automatically.
19
+ You usually do not need to worry about the prefix.
20
+
21
+ ```python title="test.py"
22
+ --8<-- "./sample-code/quickstarts/py/test.py"
23
+ ```
24
+
25
+ !!! note
26
+
27
+ ```
28
+ It's not within the scope of this guide to give a complete run-down on the Python client
29
+ library or everything that's happening here, so we'll leave the code itself unexplained in detail for now.
30
+
31
+ - You may want to read up particularly on Appium [Capabilities](../guides/caps.md).
32
+ - [functional test code](https://github.com/appium/python-client/tree/master/test/functional) in Python Client GitHub repository should help to find more working example.
33
+ - [Documentation](https://appium.github.io/python-client-sphinx/) also helps to find methods
34
+ defined in the Appium Python Client.
35
+ ```
36
+
37
+ !!! note
38
+
39
+ ```
40
+ The sample code is available from [GitHub Appium repository](https://github.com/appium/appium/tree/master/packages/appium/sample-code/quickstarts/py).
41
+ ```
42
+
43
+ Basically, this code is doing the following:
44
+
45
+ 1. Defining a set of "Capabilities" (parameters) to send to the Appium server so Appium knows what
46
+ kind of thing you want to automate.
47
+ 2. Starting an Appium session on the built-in Android settings app.
48
+ 3. Finding the "Apps" list item and clicking it.
49
+ 4. Pausing for a moment purely for visual effect.
50
+ 5. Ending the Appium session.
51
+
52
+ That's it! Let's give it a try. Before you run the test, make sure that you have an Appium server
53
+ running in another terminal session, otherwise you'll get an error about not being able to connect
54
+ to one. Then, you can execute the script:
55
+
56
+ ```bash
57
+ python test.py
58
+ ```
59
+
60
+ If all goes well, you'll see the Settings app open up and navigate to the "Apps" view before the
61
+ app closes again.
62
+
63
+ Congratulations, you've started your Appium journey! Read on for some [next steps](./next-steps.md) to explore.