Skip to content

appium/WebDriverAgent

This branch is 1138 commits ahead of, 36 commits behind facebookarchive/WebDriverAgent:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1a0402b · Feb 5, 2025
Jan 16, 2025
Oct 7, 2024
Dec 15, 2023
Jan 16, 2025
Jan 3, 2025
Jan 16, 2025
Feb 5, 2025
Oct 21, 2023
Jan 17, 2025
Jan 14, 2025
Nov 22, 2022
Feb 3, 2025
Jan 3, 2025
Nov 23, 2024
Feb 10, 2022
Aug 24, 2023
Jun 5, 2019
Mar 3, 2024
Feb 5, 2025
Dec 14, 2020
Dec 10, 2023
Sep 9, 2015
Sep 9, 2015
Feb 5, 2023
Jan 3, 2025
Apr 7, 2024
Feb 5, 2025
Jul 2, 2024

Repository files navigation

WebDriverAgent

NPM version Downloads

Release

GitHub license

WebDriverAgent is a WebDriver server implementation for iOS that can be used to remote control iOS devices. It allows you to launch & kill applications, tap & scroll views or confirm view presence on a screen. This makes it a perfect tool for application end-to-end testing or general purpose device automation. It works by linking XCTest.framework and calling Apple's API to execute commands directly on a device. WebDriverAgent is developed for end-to-end testing and is successfully adopted by Appium via XCUITest driver.

Features

  • Both iOS and tvOS platforms are supported with devices & simulators
  • Implements most of WebDriver Spec
  • Implements part of Mobile JSON Wire Protocol Spec
  • USB support for devices is implemented via appium-ios-device library and has zero dependencies on third-party tools.
  • Easy development cycle as it can be launched & debugged directly via Xcode
  • Use Mac2Driver to automate macOS apps

Getting Started On This Repository

You need to have Node.js installed for this project.

After it is finished you can simply open WebDriverAgent.xcodeproj and start WebDriverAgentRunner test and start sending requests.

More about how to start WebDriverAgent here.

Known Issues

If you are having some issues please checkout wiki first.

For Contributors

If you want to help us out, you are more than welcome to. However please make sure you have followed the guidelines in CONTRIBUTING.

Creating Bundles

npm run bundle

Then, you find WebDriverAgentRunner-Runner-sim-<version>.zip for iOS and WebDriverAgentRunner-Runner-tv_sim-<version>.zip for tvOS files in the current directory.

License

WebDriverAgent is BSD-licensed. We also provide an additional patent grant.

Third Party Sources

WebDriverAgent depends on the following third-party frameworks:

These projects haven't been maintained in a while. That's why the source code of these projects has been integrated directly in the WebDriverAgent source tree.

You can find the source files and their licenses in the WebDriverAgentLib/Vendor directory.

Have fun!

About

A WebDriver server for iOS and tvOS

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Objective-C 90.6%
  • JavaScript 7.6%
  • C 1.3%
  • Other 0.5%