skillfed

facebook-wda

Python Client for Facebook WebDriverAgent

facebook-wda v1.5.4 150.8K downloads/30d#10,952 on PyPI1,877
Permissive license MIT Active released

What it is and what it does

facebook-wda is a Python client for Facebook's WebDriverAgent, a tool that exposes iOS device UI automation through an HTTP API. It lets you programmatically control iOS apps, take screenshots, simulate touches, swipes, and other gestures, and query app state—useful for automated testing of iOS applications. The package wraps WebDriverAgent's REST API, so it requires a separate WebDriverAgent server running on your iOS device or simulator; the client communicates with that server over HTTP (or USB via usbmuxd). It depends on six, Pillow for image handling, retry for resilience, and a few utility libraries.

The library is actively maintained but the underlying Facebook WebDriverAgent project is archived; the maintainers recommend using the Appium fork instead for new projects. Install friction is low, and there are no known security vulnerabilities. The package is suitable for teams building iOS test automation, though you'll need to set up WebDriverAgent separately and understand that screenshot dimensions differ from window size due to UIKit scaling.

Use it for:

  • Automated UI testing of iOS apps in CI/CD pipelines, simulating user interactions and verifying app behavior.
  • Mobile app testing on physical devices or simulators by controlling app launch, navigation, and state verification.
  • Screenshot capture and comparison testing to detect visual regressions in iOS app interfaces.
  • Clipboard and system interaction testing (lock/unlock, home button, Siri activation) for complex app workflows.
  • Multi-device test orchestration where you control multiple iOS devices from a single Python test suite.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client library for controlling iOS devices via Facebook's WebDriverAgent, enabling automated UI testing and interaction with iOS apps through a network API.

Yes, with conditions. The package is actively maintained, has low install friction, and fills a real need for iOS test automation. However, install it only if you already have WebDriverAgent running on your target iOS device or simulator—the package is a client library, not a standalone tool. Also note that Facebook's original WebDriverAgent is archived; consider whether the Appium fork better suits your long-term needs. No security vulnerabilities are known.

Install

facebook-wda on PyPI

pip

pip install facebook-wda

uv

uv add facebook-wda

poetry

poetry add facebook-wda

Installing facebook-wda

Before you install

Low install friction with six runtime dependencies. Actively maintained as of 2025-09-03 with recent commits; however, the package targets an archived Facebook project and recommends using the Appium fork instead.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include the license notice in distributions.

Quickstart

pip install facebook-wda

import wda

c = wda.Client('http://localhost:8100')
print(c.status())
c.screenshot('screen.png')

Requires WebDriverAgent server running on an iOS device or simulator (started separately via xcodebuild or tidevice); not a standalone testing tool.

Verify before relying

  • Current compatibility with modern Python versions (classifiers list Python 2.7 and 3.2–3.5, but latest release is 2025-09-03).
  • Whether the package works with the recommended Appium WebDriverAgent fork or only the archived Facebook version.
  • Stability of USB connection mode (marked experimental, added in 0.9.0).

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 6 — six, retry, Pillow, cached-property, Deprecated, construct
Maintenance actively maintained — 345 days since the last release
Last repo commit
First released
Downloads 150,847/month — #10,952 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: facebook_wda-1.5.4-py3-none-any.whl

Development Status :: 3 - AlphaEnvironment :: ConsoleIntended Audience :: DevelopersOperating System :: POSIX :: LinuxProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Topic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Testing

Tags

iOS automation testingWebDriverAgent Python clientiOS app UI testingiOS device controlautomated iOS testingiOS simulator testingWebDriver iOS
ios-automationtest-frameworkwebdriver

More Python Modules packages