Creates version of WebDriver using sync sockets.  Async remains functionally identical. (#149)

* Update WORKSPACE with recent io_bazel rules.

* Add sync-http repositories to WebDriver.

* Move files to async folder

* Add missing omit flag for sync_http.

* Initial integration of synchronous sockets into WebDriver. Currently a clone of the async interface.

* Sync version, doesn't work yet though.

* more done

* All tests migrated to sync, run, but not all pass.

* Add comments warning test does not pass (async or sync) on Mac.

* Readds VM annotation to all tests.

* Sync WebDriver moved from library based approach to import + export based approach. Allows later refactorings to merge async codebase.

* Add missing toList() calls to sync/logs.dart and sync/options.dart to ensure type safety.

* Runs dartfmt over all files.

* Update options to avoid name clash.

* Refactor sync WebDriver to delegate to rather than inherit from WebDriverBase.

* Rename WebDriverBase to Resolver.

* Update ChromeDriver version to 2.29 and driver creation to match.

* Readd wd/hub to URI.

* Try to run on official chrome.

* Update travis.yml with comments explaining Chrome / Chromium situation.

* Update travis to not use content-shell as it is deprecated.

* Remove print statements from test.

* Disable XVFB. Trying to keep travis build from stalling..

* Add comment on why XVFB not needed.

* Extend test timeouts to one minute.

* One more attempt to make travis stable.

* Reverting XVFB changess, they have no effect.
72 files changed
tree: 02e4c83389ed09ae9c1eed102a304d7c89c71e19
  1. lib/
  2. test/
  3. tool/
  4. .gitignore
  5. .travis.yml
  6. analysis_options.yaml
  7. AUTHORS
  8. CHANGELOG.md
  9. CONTRIBUTING.md
  10. LICENSE
  11. pubspec.yaml
  12. README.md
README.md

webdriver

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.

Installing

  1. Depend on it

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

    dependencies:
      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(...);
    

Testing

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


bazel test ...