webdriver-w3c: Bindings to the WebDriver API

[ gpl, library, program, testing, web, webdriver ] [ Propose Tags ] [ Report a vulnerability ]
Versions [RSS] 0.0.1, 0.0.2, 0.0.3
Change log CHANGELOG.md
Dependencies aeson (>=1.2.4.0), aeson-pretty (>=0.8.5), base (>=4.12 && <5), base64-bytestring (>=1.0.0.1), bytestring (>=0.10.8.2), containers (>=0.5.10.2), directory (>=1.3.0.2), exceptions (>=0.8.3), http-client (>=0.5.10), http-types (>=0.12.1), JuicyPixels (>=3.2.9.4), lens (>=4.16), lens-aeson (>=1.0.2), network-uri (>=2.6), QuickCheck (>=2.10.1), random (>=1.1), scientific (>=0.3.5.2), script-monad (>=0.0.3), SHA (>=1.6.4.2), stm (>=2.4.5.0), tasty (>=1.0.1.1), tasty-expected-failure (>=0.11.1.1), text (>=1.2.3.0), time (>=1.8.0.2), transformers (>=0.5.5.0), unordered-containers (>=0.2.9.0), uri-encode (>=1.5.0.5), vector (>=0.12.0.1), webdriver-w3c, wreq (>=0.5.2) [details]
License GPL-3.0-only
Copyright 2018 Automattic, Inc.
Author Nathan Bloomfield
Maintainer nathan.bloomfield@a8c.com
Category web, webdriver, testing
Home page https://github.com/nbloomf/webdriver-w3c#readme
Bug tracker https://github.com/nbloomf/webdriver-w3c/issues
Source repo head: git clone https://github.com/nbloomf/webdriver-w3c
Uploaded by nbloomf at 2022-06-29T01:12:41Z
Distributions
Executables wd-repl-demo, wd-parallel-stress-test, wd-tasty-demo, webdriver-w3c-intro
Downloads 1452 total (9 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-06-29 [all 1 reports]

Readme for webdriver-w3c-0.0.3

[back to package description]

webdriver-w3c

Build Status

Haskell bindings for the W3C WebDriver API.

What is it?

webdriver-w3c is a Haskell library providing bindings to the WebDriver API, enabling us to write Haskell programs that control web browsers. It is actively tested against geckodriver and chromedriver, as well as a fake remote end implementation. It is implemented as a monad transformer.

Also included is an integration with the tasty test framework.

Note that this library requires GHC >=8.6 due to a transitive dependency on QuantifiedConstraints.

WebDriver is an HTTP API for interacting with a web browser remotely. It is on track to become a W3C specification and based on work done by the Selenium community.

Who is it for?

If you:

  • Are interested in browser automation, especially for testing,
  • Want to write browser automation code in Haskell, and
  • Don't mind filing bug and feature requests,

then you might give webdriver-w3c a try.

This library is unrelated to webdriver except in spirit. That library is older and more mature, and depending on your needs may be more appropriate.

Where is the documentation?

Depends on what you want!

  • A cursory glance: This brief tutorial shows how to go from nothing to one very simple test.
  • To start a simple project: If you want to write a test suite, there's a separate tutorial on using the tasty integration.
  • To dig into the API: The API docs are on Hackage.
  • To mess with the library code: There's a very small amount of developer documentation; I'm also happy to answer questions.

Who is responsible for this?

Nathan Bloomfield (@nbloomf) wrote and maintains the code.

Other contributors, in lexicographic order:

  • Ivan Enderlin (@hywan)

And users like you!

Also thanks to my employer for allowing -- actually, requiring :) -- this to be open source.

And special thanks to Jonathan Lipps' Simplified Guide to the WebDriver spec.