webdriver 1.2.3

  • README.md
  • Installing
  • Versions
  • 85


Build Status pub package

Provides WebDriver bindings for Dart. These use the WebDriver JSON interface, and as such, require the use of the WebDriver remote server.


  1. Depend on it

    Add this to your package's pubspec.yaml file:

      webdriver: any

    If your package is an application package you should use any as the version constraint.

  2. Install it

    If you're using the Dart Editor, choose:

    Menu > Tools > Pub Install

    Or if you want to install from the command line, run:

    $ pub install
  3. Import it

    Now in your Dart code, you can use:

    import 'package:webdriver/io.dart';
    WebDriver driver = createDriver(...);


You can run the tests either with bazel (only supported on Linux).

bazel test ...


  • Enable generics for waitFor.


  • Disable generics for waitFor.


  • Refactor tests.
  • Make project buildable and testable with Bazel.


  • Enable redirects to handle 303 responses from Selenium.


  • Fix all strong mode errors.


  • Fix some analyzer warnings.
  • _performRequest now uses whenComplete, not finally (#119).


  • Added WebDriver.captureScreenshotAsBase64(), which returns the screenshot as a base64-encoded string.
  • Added WebDriver.captureScreenshotAsList(), which returns the screenshot as list of uint8.
  • Deprecated WebDriver.captureScreenshot() due to bad performance (#114). Please use the new screenshot methods instead.
  • Removed dependency on crypto package.

Thanks to @blackhc and @xavierhainaux for the contributions.


No functional change, just bumping the version number.


  • Add Future-based listeners to web_driver.dart.
  • Use google.com/ncr to avoid redirect when running outside US
  • Add chords support to keyboard.dart.
  • Add enum for mouse buttons (breaking API change!)


  • Adds support for enabling/disabling listeners to WebDriver.
  • Adds awaitChecking mode to Lock class.


  • Lots of cleanup and new features.


  • Adds a Stepper interface and StdioStepper which allows control of execution of WebDriver commands.


  • Improve exception stack traces.
  • Add option to quit() to not end the WebDriver session.


  • Minor updates.


  • Adds command listening.


  • Add support/forwarder.dart.
  • Move async_helpers.dart to support/async.dart.


  • Fix expect implementation.


  • Fixes to pubspec.
  • Added missing copyright notices.


  • Various cleanup.
  • Change captureScreenshot to return Stream.


  • Rename some methods.
  • Add WebDriver.get() and remove WebDriver.navigate.to().


  • Added close() method to CommandProcessor that gets called by WebDriver.quit().
  • Ensure that HttpClient in _IOCommandProcessor gets closed.
  • Add fromExistingSession() functions to allow creation of WebDriver instances connected to existing sessions.


  • Isolate HTTP code from the rest of the WebDriver implementation.
  • Create support for running WebDriver from inside browser.
  • Other cleanup.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  webdriver: "^1.2.3"

2. Install it

You can install packages from the command line:

with pub:

$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

      import 'package:webdriver/core.dart';

      import 'package:webdriver/html.dart';

      import 'package:webdriver/io.dart';
Version Uploaded Documentation Archive
1.2.3 Feb 2, 2017 Go to the documentation of webdriver 1.2.3 Download webdriver 1.2.3 archive
1.2.2+1 Jan 12, 2017 Go to the documentation of webdriver 1.2.2+1 Download webdriver 1.2.2+1 archive
1.2.2 Jan 11, 2017 Go to the documentation of webdriver 1.2.2 Download webdriver 1.2.2 archive
1.2.1 Sep 9, 2016 Go to the documentation of webdriver 1.2.1 Download webdriver 1.2.1 archive
1.2.0 Aug 15, 2016 Go to the documentation of webdriver 1.2.0 Download webdriver 1.2.0 archive
1.1.1 Jun 8, 2016 Go to the documentation of webdriver 1.1.1 Download webdriver 1.1.1 archive
1.1.0 May 3, 2016 Go to the documentation of webdriver 1.1.0 Download webdriver 1.1.0 archive
1.0.0 Feb 10, 2016 Go to the documentation of webdriver 1.0.0 Download webdriver 1.0.0 archive
0.9.1 Feb 20, 2015 Go to the documentation of webdriver 0.9.1 Download webdriver 0.9.1 archive
0.9.0 Feb 19, 2015 Go to the documentation of webdriver 0.9.0 Download webdriver 0.9.0 archive

All 71 versions...


We analyzed this package on Jun 12, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.60.0
  • pana: 0.11.3


Describes how popular the package is relative to other packages. [more]
86 / 100
Code health derived from static analysis. [more]
99 / 100
Reflects how tidy and up-to-date the package is. [more]
64 / 100
Overall score:
Weighted score of the above. [more]
Learn more about scoring.


Detected platforms: web

Platform components identified in package: html, io.


  • Package is getting outdated.

    The package was released 70 weeks ago.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 28 hints.

    Strong-mode analysis of lib/core.dart gave the following hint:

    line: 19 col: 28
    'BASE64' is deprecated and shouldn't be used.

    Strong-mode analysis of lib/html.dart gave the following hint:

    line: 18 col: 28
    'JSON' is deprecated and shouldn't be used.

    Similar analysis of the following files failed:

    • lib/io.dart (hint)
    • lib/src/web_driver.dart (hint)
    • lib/support/firefox_profile.dart (hint)
    • lib/support/forwarder.dart (hint)
    • lib/support/stdio_stepper.dart (hint)
  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use webdriver.dart.

  • Use analysis_options.yaml.

    Rename old .analysis_options file to analysis_options.yaml.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.21.1 <2.0.0
archive ^1.0.0 1.0.33 2.0.0
matcher ^0.12.0 0.12.2+1
path ^1.3.0 1.6.0
stack_trace ^1.3.0 1.9.2
unittest ^0.11.6 0.11.7 0.12.4+1
Transitive dependencies
args 1.4.3
charcode 1.1.1
collection 1.14.10
convert 2.0.1
crypto 2.0.3
typed_data 1.1.5
Dev dependencies
test ^0.12.3