Appium HTML Driver is a WebDriver that allows controlling applications written using web technologies, regardless of the device they are running on.
appium driver install --source npm @dlenroc/appium-html-driver
-
Instrumentation
Inject the following code in every HTML file that belongs to your application.
<script src="{origin}/appium-html-driver/js?udid={udid}&handle={handle}"></script>
Where:
- origin - address of the Appium server, for example:
http://192.168.0.2:4723
. - udid (optional) - identifier that represent your device, default to client's IP address.
- handle (optional) - identifier that will represent the window handle.
- origin - address of the Appium server, for example:
-
Attach and run test
await driver = await remote({ 'capabilities': { 'platformName': 'html', 'appium:automationName': 'html', 'appium:udid': udid }, }); /** * Load instrumented page manually, via cli or in any other way * * NOTE: that is not driver's responsibility */ // Attach to target const handles = await driver.getWindowHandles(); await driver.switchToWindow(handles[0]); // Conduct testing await driver.getUrl() .should.eventually.be.fulfilled;
Capability | Required | Type | Description |
---|---|---|---|
platformName |
+ | string | Must be html |
appium:automationName |
+ | string | Must be html |
appium:udid |
+ | string | See Connection |
appium:handle |
- | string | The window handle to switch to during session creation |
Command | Description |
---|---|
active | Get active element |
back | Back |
clear | Element clear |
click | Element click |
closeWindow | Close window |
createNewWindow | New window |
deleteCookie | Delete cookie |
deleteCookies | Delete all cookies |
elementDisplayed | Is element displayed |
elementEnabled | Is element enabled |
elementSelected | Is element selected |
execute | Execute script |
executeAsync | Execute async script |
findElement | Find element |
findElementFromElement | Find element form element |
findElements | Find elements |
findElementsFromElement | Find elements from element |
forward | Forward |
getAttribute | Get element attribute |
getCookie | Get named cookie |
getCookies | Get all cookies |
getCssProperty | Get element CSS value |
getElementRect | Get element rect |
getName | Get element tag name |
getPageSource | Get page source |
getProperty | Get element property |
getText | Get element text |
getTimeouts | Get timeouts |
getUrl | Get current URL |
getWindowHandle | Get window handle |
getWindowHandles | Get window handles |
getWindowRect | Get window rect |
maximizeWindow | Maximize window |
refresh | Refresh |
setCookie | Add cookie |
setFrame | Switch to frame |
setUrl | Navigate to URL |
setValue | Element send keys |
setWindow | Switch to window |
setWindowRect | Set window rect |
switchToParentFrame | Switch to parent frame |
timeouts | Set timeouts |
title | Get title |