Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Selenium
  3. dart.webdriver

dart.webdriver

Apache-2.0Dartv3.1.0

A Dart client library for WebDriver that provides bindings for browser automation and testing.

Visit WebsiteGitHubGitHub
142 stars48 forks0 contributors

What is dart.webdriver?

webdriver.dart is a Dart client library for WebDriver that provides bindings for browser automation and testing. It allows Dart developers to control web browsers programmatically using the WebDriver protocol, enabling automated testing, web scraping, and UI interaction simulation. The library supports both the legacy JSON Wire spec and the modern W3C WebDriver spec.

Target Audience

Dart developers who need to automate browser interactions for testing web applications, performing integration tests, or building web scraping tools.

Value Proposition

As an official Google-maintained package, it offers reliable, spec-compliant WebDriver bindings for Dart with support for both synchronous and asynchronous workflows, making it a trusted choice for browser automation in the Dart ecosystem.

Overview

Dart WebDriver client

Use Cases

Best For

  • Automated testing of Dart web applications
  • Cross-browser testing with Chrome and Firefox
  • Integration testing using the WebDriver protocol
  • Web scraping and data extraction from dynamic websites
  • UI automation for Dart-based projects
  • Running browser-based tests in CI/CD pipelines

Not Ideal For

  • Teams wanting a zero-configuration, all-in-one browser automation tool without external server dependencies
  • Projects requiring extensive support for browsers beyond Chrome and Firefox, as only these are officially tested
  • Developers seeking a testing framework with seamless integration and minimal manual setup, given the complex test process
  • Applications needing asynchronous automation with modern browsers other than Chrome, due to async API limitations

Pros & Cons

Pros

Official Google Maintenance

Maintained by Google, ensuring reliability and regular updates, as evidenced by active CI badges and its status as an official package.

Dual Protocol Support

Supports both JSON Wire and W3C WebDriver specs, enabling compatibility with legacy systems and modern browsers like Firefox, with automatic inference during session creation.

Flexible API Options

Offers both synchronous (sync_io.dart) and asynchronous (io.dart) APIs, catering to different programming styles, though async has limitations.

Cross-Browser Testing

Tested with ChromeDriver and geckodriver, allowing automation across Chrome and Firefox for reliable cross-browser validation.

Cons

Complex Test Setup

Requires manual launching of WebDriver binaries and has a convoluted test process, as admitted in the README with steps like 'bring up chromedriver/geckodriver' and warnings about long run times.

Limited Async Browser Support

The asynchronous API only works with Chrome using the old JSON wire spec, restricting modern browser automation in async workflows and potentially causing compatibility issues.

No Bazel Integration

README explicitly states that using bazel with Dart libraries is not yet supported, which can hinder adoption in projects relying on bazel for build systems.

Frequently Asked Questions

Quick Stats

Stars142
Forks48
Contributors0
Open Issues24
Last commit1 month ago
CreatedSince 2013

Tags

#dart#integration-testing#selenium#testing#webdriver#web-testing#ui-automation#browser-automation

Built With

D
Dart

Links & Resources

Website

Included in

Selenium1.1k
Auto-fetched 16 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub