diary at Telent Netowrks

clj-webdriver with recent Clojure/Firefox#

Sun, 14 Dec 2014 23:06:29 +0000

At the time I write this, the latest release of clj-webdriver is 0.6.1. There are two separate problems with this version, at least as far as I can make out

1) some kind of bug which causes it to fail with the message No such var: clojure.core.cache/through. I haven't tracked this to its root cause but am guessing that the [org.clojure/core.cache "0.5.0"] in clj-webdriver's project.clj was too old a version for some other dependency I am pulling in. I added an explicit [org.clojure/core.cache "0.6.4"] in my project and that seems to have fixed it. See clj-webdriver issue 132

2) The version of Selenium it pulls in is 2.39, which is too old to work properly with even the vaguely recent version of firefox I'm using (33.1.1). Fixing this is again just a matter of adding the more recent versions of Selenium stuffz as explicit dependencies in project.clj

With those two changes clj-webdriver now seems pretty happy and I can start adding some basic smoke tests to Sledge so that I don't have to manually test client-side behaviours whenever I change it

Done: use reference cursors instead of channels for enqueuing/dequeing tracks

Next up: use a channel for xhr search instead of quite so many callbacks

Forthcoming: more work on UI/UX. Add tabs to switch between search view and play queue, unify the different-for-no-good-reason "search" and "filters".

The branch/commit policy from hereon in is

Note that the tests currently depend on having a music collection containing at least four tracks by Queen. This is not ideal and I will fix it some day but in the meantime you'll just have to work around it somehow. Maybe try leaving a USB stick in the car for two weeks or something