Maintainer Hiatus Ended

438 views
Skip to first unread message

semperos

unread,
Jul 31, 2015, 10:08:52 PM7/31/15
to clj-webdriver
Dear clj-webdriver community,

I am deeply sorry that I essentially abandoned this project after forming it and supporting it for some time. I have had an incredibly difficult last couple of years with several life changes and at times have had no extra time, and at times have not used my extra time well.

I plan to end that hiatus now.

I have been working diligently the last couple of days to bring the project up to speed. In the time I've been gone I've been coding Clojure professionally, so I have many changes in mind for how the code should be written and the project structured. As mentioned in many of the issues and PR's, I intend _not_ to package the Selenium-WebDriver dependencies with clj-webdriver in its next release, so that folks are required to pull in the ones compatible with their browser versions explicitly (and so clj-webdriver doesn't need to be changed for compatible Selenium-WebDriver upgrades).

Since this library is pre-1.0, I make no promises about the API. I may decide to split out the features of this library into multiple smaller libraries, or I may keep it just as it is. Fair warning that a fresh eye is being applied to every line of Clojure here.

My priorities are in the following order:

 * Code cleanup
 * Code restructure
 * Attend to PR's and issues
 * Cut new release of clj-webdriver
 * Attend to this Google Group

I appreciate everyone's feedback and usage of the library and will take everything folks have contributed into consideration. That said, I feel strongly about certain cleanup and restructuring, and will tackle that first, coming out the other end with the same feature-set but hopefully more stability and more idiomatic code.

Regards,
Daniel Gregoire

Mayank Jain

unread,
Aug 1, 2015, 11:22:27 AM8/1/15
to clj-webdriver
Glad to see you back in action Daniel. :)
Looking forward to it.

Thank you for all your hard work so far! :)

Aditya Athalye

unread,
Aug 3, 2015, 1:19:21 AM8/3/15
to clj-webdriver
Echoing Mayank's sentiment... 

clj-webdriver is fantastic. Thank you for your hard work, Daniel. 

I look forward to new developments and hope to participate in whatever way possible.

semperos

unread,
Aug 4, 2015, 6:46:47 PM8/4/15
to clj-webdriver
Thanks for the support, everyone.

As a status update, I've been working my way through the test suite. For anyone who is interested, you can see the changes I'm making on the "update-project" branch here:


Certain things that I'll be targeting for cleanup and reexamination are:

 * Magic state
 * Pulling in things automatically from the classpath
 * Direct vs indirect use of Java objects
 * The "element cache" concept

In general, magic state will be going away; clj-webdriver will likely not pull things like properties files automatically off the classpath; much of the current indirection around using Clojure maps to "hide" Java objects from the user will be simplified (in favor of using the Java objects directly for simple things where it's _more_ work to learn clj-webdriver's Clojure conventions than it is just to use the Java interop directly); and the "element cache" will likely be going away unless I or someone else can demonstrate that it provides real value.

Sean Corfield

unread,
Aug 4, 2015, 6:57:11 PM8/4/15
to clj-we...@googlegroups.com
This is all very timely — welcome back and thank you for everyone you’ve done so far and plan to do in the future!

Chrome recently updated to 44.0 and a *lot* of breakage was reported with the current chromedriver (on the chromedriver mailing list), so we’ve actually had to stop trying to use clj-webdriver with Chrome completely for the time being, and have not been able to successfully run our test suite on Firefox.

So this is a good time to dig in and tackle things with fresh eyes since clearly there’s a lot of churn in the WebDriver space as well right now!

Sean

semperos

unread,
Aug 6, 2015, 6:38:12 PM8/6/15
to clj-webdriver
As promised, I've released a new version of clj-webdriver that excludes Selenium-WebDriver dependencies.

Next on my list was attending to issues and PR's on Github, so I've been working on that as well as cleaning up the README and Wiki.

I've updated the Roadmap in the Wiki to better reflect where I am with clj-webdriver at this point:

br...@cognatory.com

unread,
Feb 2, 2016, 3:53:58 PM2/2/16
to clj-webdriver
This seems to have made the library harder to use, and so is a step backwards from a usability perspective. The documentation is also obscure and includes no explicit steps for one to take.

Daniel Gregoire

unread,
Feb 2, 2016, 4:08:15 PM2/2/16
to clj-we...@googlegroups.com
Thanks for the feedback, Brian.

This seems to have made the library harder to use, and so is a step backwards from a usability perspective.

Are you referring to clj-webdriver not shipping with Selenium WebDriver dependencies already specified? It's a tough call. Some teams are on specific, non-latest browser versions and so for them, clj-webdriver specifying the version creates more work for them (they have to exclude clj-webdriver's versions and add their own). The decision to let the consumer of clj-webdriver specify the Selenium WebDriver version they need for the browsers they support means they make the choice explicitly, which I think is a good approach based on the number of issues folks have opened after being confused about Selenium WebDriver versions. Simple vs. easy kind of thing.
 
The documentation is also obscure and includes no explicit steps for one to take.


Good catch, that's some old documentation. The project README (https://github.com/semperos/clj-webdriver#clojure-api-for-selenium-webdriver) has specific instructions at the top about what to do for the current stable release. For previous releases of clj-webdriver, the instructions about exclusions at the bottom of the wiki page you link to are still relevant. If you think the README could use some more specific wording about how to specify Selenium WebDriver dependencies, feel free to open a PR with an edit, and I'll take some time to clean up that wiki page.

Regards,
Daniel

Smock Jonathan

unread,
Feb 2, 2016, 5:17:20 PM2/2/16
to clj-we...@googlegroups.com
For me personally, I found the advice to look at clj-webdriver's project.clj file, in the :dev profile, to be very valuable. We upgraded and added the dependencies you have there, and we were back up and running in minutes.

Thanks for everything, Daniel! This has been extremely valuable to us.

--
You received this message because you are subscribed to the Google Groups "clj-webdriver" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clj-webdrive...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages