facebook-wda
Python Client for Facebook WebDriverAgent
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires WebDriverAgent server running on an iOS device or simulator (started separately via xcodebuild or tidevice); not a standalone testing tool.
- 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 · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include the license notice in distributions.
last release 2025-09-03 (345 days) · last repo commit 2026-07-01 · 1,877 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 150,847 downloads/mo, #10,952 on PyPI
Alternatives
Verify before relying
pip install facebook-wda
import wda
c = wda.Client('http://localhost:8100')
print(c.status())
c.screenshot('screen.png')- 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).
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 on it.
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
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.
Requires WebDriverAgent server running on an iOS device or simulator (started separately via xcodebuild or tidevice); not a standalone testing tool.
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')
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 packagessixretryPillowcached-propertyDeprecatedconstruct |
| 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 |
| Classifiers | 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 |
Evidence: facebook_wda-1.5.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “WebDriverAgent Python client”
- facebook-wdaPython client library for controlling iOS devices via Facebook's…
- codewords-clientA Python client library for the Codewords API with built-in FastAPI…
- openapi-python-clientGenerates type-annotated Python HTTP clients from OpenAPI 3.0 and 3.1…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also fb-idb · uiautomator2 · Appium-Python-Client · robotframework-appiumlibrary · uiautomator · uiautomation · eyes-selenium · Selenium-Screenshot · selenium-page-factory · lambdatest-selenium-driver