Skip to content

Latest commit

 

History

History
 
 

WebDriverAPI

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

WebDriverAPI

WebDriverAPI is a collection of test scenarios that covers every WebDriver command supported by Windows Application Driver. Use this as a reference on how to invoke each command in the test script. While these tests are written in C#, corresponding commands in other Selenium supported language bindings should map to the same API endpoint.

The test scenarios are written against Windows 10 built-in apps such as Calculator, Alarms & Clock, Notepad, File Explorer, and Microsoft Edge Browser. Therefore these tests can simply be run on Windows 10 PC running Windows Application Driver.

Requirements

  • Windows 10 PC with the latest Windows 10 version (Version 1607 or later)
  • Microsoft Visual Studio 2015 or later

Getting Started

  1. Open WebDriverAPI.sln in Visual Studio
  2. Select Test > Windows > Test Explorer
  3. Select Run All on the test pane or through menu Test > Run > All Tests

Once the project is successfully built, you can use the TestExplorer to pick and choose the test scenario(s) to run

Command Summary

HTTP Path
GET /status
POST /session
GET /sessions
DELETE /session/:sessionId
POST /session/:sessionId/appium/app/launch
POST /session/:sessionId/appium/app/close
POST /session/:sessionId/back
POST /session/:sessionId/buttondown
POST /session/:sessionId/buttonup
POST /session/:sessionId/click
POST /session/:sessionId/doubleclick
POST /session/:sessionId/element
POST /session/:sessionId/elements
POST /session/:sessionId/element/active
GET /session/:sessionId/element/:id/attribute/:name
POST /session/:sessionId/element/:id/clear
POST /session/:sessionId/element/:id/click
GET /session/:sessionId/element/:id/displayed
GET /session/:sessionId/element/:id/element
GET /session/:sessionId/element/:id/elements
GET /session/:sessionId/element/:id/enabled
GET /session/:sessionId/element/:id/equals
GET /session/:sessionId/element/:id/location
GET /session/:sessionId/element/:id/location_in_view
GET /session/:sessionId/element/:id/name
GET /session/:sessionId/element/:id/screenshot
GET /session/:sessionId/element/:id/selected
GET /session/:sessionId/element/:id/size
GET /session/:sessionId/element/:id/text
POST /session/:sessionId/element/:id/value
POST /session/:sessionId/forward
POST /session/:sessionId/keys
GET /session/:sessionId/location
POST /session/:sessionId/moveto
GET /session/:sessionId/orientation
GET /session/:sessionId/screenshot
GET /session/:sessionId/source
POST /session/:sessionId/timeouts
GET /session/:sessionId/title
POST /session/:sessionId/touch/click
POST /session/:sessionId/touch/doubleclick
POST /session/:sessionId/touch/down
POST /session/:sessionId/touch/flick
POST /session/:sessionId/touch/longclick
POST /session/:sessionId/touch/move
POST /session/:sessionId/touch/scroll
POST /session/:sessionId/touch/up
DELETE /session/:sessionId/window
POST /session/:sessionId/window
POST /session/:sessionId/window/maximize
POST /session/:sessionId/window/size
GET /session/:sessionId/window/size
POST /session/:sessionId/window/:windowHandle/size
GET /session/:sessionId/window/:windowHandle/size
POST /session/:sessionId/window/:windowHandle/position
GET /session/:sessionId/window/:windowHandle/position
POST /session/:sessionId/window/:windowHandle/maximize
GET /session/:sessionId/window_handle
GET /session/:sessionId/window_handles

Command Reference

These tests are written to verify each API endpoint behavior and error values as specified in JSON Wire Protocol document.

Adding/Updating Test Scenario

Please follow the guidelines below to maintain test reliability and reduce test execution time:

  1. Avoid duplicating test scenario that uses the same code path
  2. Aim for simple and reliable scenario using the least amount of test steps
  3. Write test against Windows 10 built-in apps only to avoid requiring extra installation
  4. Reuse existing application session when possible to reduce unnecessary application re-launching
  5. Group test methods accordingly by naming them with the existing convention. E.g.
    • ClickElement
    • ClickElementError_NoSuchWindow
    • ClickElementError_StaleElement