{"id":25094609,"url":"https://github.com/dlenroc/appium-html-driver","last_synced_at":"2025-10-26T14:36:55.422Z","repository":{"id":38017710,"uuid":"437639702","full_name":"dlenroc/appium-html-driver","owner":"dlenroc","description":"WebDriver for testing HTML applications","archived":false,"fork":false,"pushed_at":"2025-03-24T22:25:37.000Z","size":684,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-24T23:26:03.419Z","etag":null,"topics":["appium","html","webdriver"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dlenroc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-12T19:40:53.000Z","updated_at":"2025-02-23T13:14:02.000Z","dependencies_parsed_at":"2025-03-24T23:22:46.392Z","dependency_job_id":"f42e1709-21f0-472f-94a6-6b91fc853d34","html_url":"https://github.com/dlenroc/appium-html-driver","commit_stats":{"total_commits":11,"total_committers":2,"mean_commits":5.5,"dds":0.2727272727272727,"last_synced_commit":"8a2d6421cb32e8f227b346504ba6cb0f007b14b4"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlenroc%2Fappium-html-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlenroc%2Fappium-html-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlenroc%2Fappium-html-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dlenroc%2Fappium-html-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dlenroc","download_url":"https://codeload.github.com/dlenroc/appium-html-driver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249189606,"owners_count":21227214,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appium","html","webdriver"],"created_at":"2025-02-07T15:28:22.888Z","updated_at":"2025-04-16T03:22:02.543Z","avatar_url":"https://github.com/dlenroc.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Appium HTML Driver · [![NPM Version](https://img.shields.io/npm/v/@dlenroc/appium-html-driver?cacheSeconds=86400)](https://www.npmjs.com/package/@dlenroc/appium-html-driver) ![Node.js Version](https://img.shields.io/node/v/@dlenroc/appium-html-driver) ![Chrome 32](https://img.shields.io/badge/-32-%234285F4?logo=googlechrome\u0026logoColor=white) ![Firefox 29](https://img.shields.io/badge/-29-%23FF7139?logo=firefox%20browser\u0026logoColor=white) ![Safari 8](https://img.shields.io/badge/-8-%23007AFF?logo=safari\u0026logoColor=white)\n\nAppium HTML Driver is a WebDriver that allows controlling applications written using web technologies, regardless of the device they are running on.\n\n## Installation\n\n```sh\nappium driver install --source npm @dlenroc/appium-html-driver\n```\n\n## Usage\n\n1. Instrumentation\n\n   Inject the following code in every HTML file that belongs to your application.\n\n   ```html\n   \u003cscript src=\"{origin}/appium-html-driver/js?udid={udid}\u0026handle={handle}\"\u003e\u003c/script\u003e\n   ```\n\n   Where:\n\n   - origin - address of the Appium server, for example: `http://192.168.0.2:4723`.\n   - udid _(optional)_ - identifier that represent your device, default to client's IP address.\n   - handle _(optional)_ - identifier that will represent the window handle.\n\n2. Attach and run test\n\n   ```typescript\n   await driver = await remote({\n     'capabilities': {\n       'platformName': 'html',\n       'appium:automationName': 'html',\n       'appium:udid': udid\n     },\n   });\n\n   /**\n    * Load instrumented page manually, via cli or in any other way\n    *\n    * NOTE: that is not driver's responsibility\n    */\n\n   // Attach to target\n   const handles = await driver.getWindowHandles();\n   await driver.switchToWindow(handles[0]);\n\n   // Conduct testing\n   await driver.getUrl()\n     .should.eventually.be.fulfilled;\n   ```\n\n## Capabilities\n\n| Capability              | Required |  Type  | Description                                            |\n| ----------------------- | :------: | :----: | ------------------------------------------------------ |\n| `platformName`          |    +     | string | Must be `html`                                         |\n| `appium:automationName` |    +     | string | Must be `html`                                         |\n| `appium:udid`           |    +     | string | See [Connection](#connection)                          |\n| `appium:handle`         |    -     | string | The window handle to switch to during session creation |\n\n## Commands\n\n| Command                                                           | Description                |\n| ----------------------------------------------------------------- | -------------------------- |\n| [active](src/client/commands/active.ts)                           | Get active element         |\n| [back](src/client/commands/back.ts)                               | Back                       |\n| [clear](src/client/commands/clear.ts)                             | Element clear              |\n| [click](src/client/commands/click.ts)                             | Element click              |\n| [closeWindow](src/server/commands/closeWindow.ts)                 | Close window               |\n| [createNewWindow](src/server/commands/createNewWindow.ts)         | New window                 |\n| [deleteCookie](src/client/commands/deleteCookie.ts)               | Delete cookie              |\n| [deleteCookies](src/client/commands/deleteCookies.ts)             | Delete all cookies         |\n| [elementDisplayed](src/client/commands/elementDisplayed.ts)       | Is element displayed       |\n| [elementEnabled](src/client/commands/elementEnabled.ts)           | Is element enabled         |\n| [elementSelected](src/client/commands/elementSelected.ts)         | Is element selected        |\n| [execute](src/client/commands/execute.ts)                         | Execute script             |\n| [executeAsync](src/client/commands/executeAsync.ts)               | Execute async script       |\n| [findElement](src/client/commands/findElOrEls.ts)                 | Find element               |\n| [findElementFromElement](src/client/commands/findElOrEls.ts)      | Find element form element  |\n| [findElements](src/client/commands/findElOrEls.ts)                | Find elements              |\n| [findElementsFromElement](src/client/commands/findElOrEls.ts)     | Find elements from element |\n| [forward](src/client/commands/forward.ts)                         | Forward                    |\n| [getAttribute](src/client/commands/getAttribute.ts)               | Get element attribute      |\n| [getCookie](src/client/commands/getCookie.ts)                     | Get named cookie           |\n| [getCookies](src/client/commands/getCookies.ts)                   | Get all cookies            |\n| [getCssProperty](src/client/commands/getCssProperty.ts)           | Get element CSS value      |\n| [getElementRect](src/client/commands/getElementRect.ts)           | Get element rect           |\n| [getName](src/client/commands/getName.ts)                         | Get element tag name       |\n| [getPageSource](src/client/commands/getPageSource.ts)             | Get page source            |\n| [getProperty](src/client/commands/getProperty.ts)                 | Get element property       |\n| [getText](src/client/commands/getText.ts)                         | Get element text           |\n| [getTimeouts](src/server/commands/getTimeouts.ts)                 | Get timeouts               |\n| [getUrl](src/client/commands/getUrl.ts)                           | Get current URL            |\n| [getWindowHandle](src/server/commands/getWindowHandle.ts)         | Get window handle          |\n| [getWindowHandles](src/server/commands/getWindowHandles.ts)       | Get window handles         |\n| [getWindowRect](src/client/commands/getWindowRect.ts)             | Get window rect            |\n| [maximizeWindow](src/client/commands/maximizeWindow.ts)           | Maximize window            |\n| [refresh](src/client/commands/refresh.ts)                         | Refresh                    |\n| [setCookie](src/client/commands/setCookie.ts)                     | Add cookie                 |\n| [setFrame](src/client/commands/setFrame.ts)                       | Switch to frame            |\n| [setUrl](src/client/commands/setUrl.ts)                           | Navigate to URL            |\n| [setValue](src/client/commands/setValue.ts)                       | Element send keys          |\n| [setWindow](src/server/commands/setWindow.ts)                     | Switch to window           |\n| [setWindowRect](src/client/commands/setWindowRect.ts)             | Set window rect            |\n| [switchToParentFrame](src/client/commands/switchToParentFrame.ts) | Switch to parent frame     |\n| [timeouts](src/server/commands/timeouts.ts)                       | Set timeouts               |\n| [title](src/client/commands/title.ts)                             | Get title                  |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlenroc%2Fappium-html-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdlenroc%2Fappium-html-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdlenroc%2Fappium-html-driver/lists"}