webdriver-server is a foundational package within the Macaca.js ecosystem, designed to provide a standalone server that implements the WebDriver protocol. As of its current stable version, 1.3.1, it enables UI automation by allowing WebDriver clients (like testing frameworks) to connect and execute commands against various browsers and mobile applications, provided the necessary drivers are configured. The project appears to be in a maintenance phase, with the last notable activity indicated by its README update in late 2022 and npm last publish 2 years ago. It serves a specific role within the broader Macaca.js framework, offering a tailored environment for Macaca-based test automation. While not a direct competitor to general-purpose, feature-rich solutions like Selenium Grid or Appium in isolation, its strength lies in its tight integration and consistent operational model within the Macaca suite, making it a suitable choice for users already invested in that platform. Its release cadence is not rapid, reflecting a stable and mature, albeit slowly evolving, component.
npm install webdriver-serverVerified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to instantiate and start the `webdriver-server` using its `Server` class, listening on a specified port. It includes basic error handling and graceful shutdown logic.
Regularly check the `webdriver-server` GitHub repository for updates and review release notes for compatibility with newer browser versions or WebDriver protocol changes. Ensure your browser drivers are up-to-date.
Specify an alternative port in the server configuration (e.g., `port: 4445`) or ensure no other process is listening on the desired port. You can use tools like `lsof -i :<port>` (macOS/Linux) or `netstat -ano | findstr :<port>` (Windows) to identify processes using a port.
Install the necessary browser drivers for your target browsers (e.g., via `npm install -g chromedriver` or `webdriver-manager update`). Verify they are accessible in your system's PATH. For a more robust setup, consider a WebDriver manager solution or explicitly pass driver paths if the server supports it.
If integrating with Macaca.js, follow their recommended setup for `webdriver-server`. For non-Macaca use cases, thoroughly evaluate if it meets your requirements compared to alternatives, and be prepared for potentially less community support for generic standalone usage.
Change the `port` option in your server configuration to an unused port, or terminate the process currently occupying the port.
Ensure the client correctly establishes a new session before sending commands. Check server logs for errors during session creation (e.g., driver not found, capabilities mismatch).
Install the required browser driver(s) (e.g., `npm install -g chromedriver`). Verify the driver executable is available in your system's PATH environment variable. If applicable, explicitly configure the driver path in the `webdriver-server` options.
No dependency data recorded yet.