-
Notifications
You must be signed in to change notification settings - Fork 93
Roadmap
This wiki page is the replacement for the TODO.md
file previously in this repo.
These are my priorities on the road to 1.0:
- Element record implementation (see below)
- Complete Selenium-WebDriver API coverage (or pure Clojure replacements where appropriate, e.g. caching)
- More maintainable implementations of the
find-*
functions
Just as the WebDriver Java object has now been superseded by the Driver record, the WebElement Java object should be wrapped in an Element record to allow for the following features:
- A proper
exists?
function that takes an Element record as its parameter, instead of the current macro that requires afind-it
form - A proper
present?
function, that checks for both existence and visibility in one fell swoop - An enhanced set of "waiting" functions that can leverage the above-mentioned
exists?
andpresent?
as needed
- The Driver record could register "wrapper functions" that act as middlewares (see below)
- The Driver could house extra meta-data, useful both for pure Clojure programming and for configuration with things like the Selenium Grid
Beyond simply interactions with the page, this library should allow developers to gather information about the elements, the page or the browser at any given point. To help foster this, it would be nice to be able to "wrap" functionality around the means of interacting with the page, and allow developers to write middlewares that do things like custom reporting, extra auxiliary validation, or even things that might alter the DOM based on context.
Query-wrappers would allow wrapping around the query sent to WebDriver, before ever touching the HTML page.
Result-wrappers would allow wrapping around the result of an interaction with the page, which is almost always an HTML element.
- Need greater diversity of browsers for test coverage (not possible with Travis, at the moment)
- Need to test Grid-based functions
The clj-webdriver Uncyclo by Daniel Gregoire and community is licensed under a Creative Commons Attribution 4.0 International License. Based on a work at https://github.com/semperos/clj-webdriver/wiki.