Skip to content

WebDriver for testing HTML applications

License

Notifications You must be signed in to change notification settings

dlenroc/appium-html-driver

Repository files navigation

Appium HTML Driver · NPM Version Node.js Version

An HTML driver that allows running commands in the context of instrumented pages regardless of the target platform

Note:

  • Interaction via remote control and JS is different, so I advise to use remote control where possible
  • Installation / Launch of the application is beyond the scope of the driver and must be performed separately

Installation

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}/{handle}"></script>

Where:

  • origin - address of the Appium server, for example: http://192.168.0.2:4723
  • udid - identifier that represent your device, for example: {device-name}-{serial-number}
  • handle (optional) - identifier that will represent the window handle

Capabilities

Capability Required Type Description
platformName + string Must be html
appium:automationName + string Must be html
appium:udid + string Device ID
appium:handle - string Window handle

Commands

Command Description
active Get active element
back Back
clear Element clear
click Element click
closeWindow Close window
createSession New session
createWindow 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
setParentFrame Switch to parent frame
setUrl Navigate to URL
setValue Element send keys
setWindow Switch to window
setWindowRect Set window rect
timeouts Set timeouts
title Get title