Acceptance testing is a must for any developer of complex web applications. Selenium is a suite of tools to help automate acceptance by recording user actions, turning them into code, and playing them back in a remote controlled web browser.
Now, thanks to a lazy Saturday afternoon and a rather nice bottle of ginger beer, the joys of Selenium are available to the Racketcommunity by way of our new Selenium PLT library. Check it out on our Github page and let us know how you get on!
Those of you familiar with our open source libraries may know aboutDelirium, our re-implementation of Selenium using the Racket HTTP Server. Delirium was a great project that made for an elegant demonstration of the power of continuations in web development.
You may fairly ask the question: why, if Delirium is so good, are we releasing bindings for Selenium? There are several answers to this. The main reason is time: maintaining compatibility across all the major browsers is a difficult process, and that’s time we could be devoting to our other pet projects. Second, we’re doing a lot of web development in other languages these days; for example, we’re currently working on a project using Scala and Lift. There are already bindings for Selenium in most of these languages, and it makes sense to use the same tools across the board.
Current Delirium users shouldn’t worry – we will continue to develop all of our libraries to maintain compatibility with new versions of Racket. Our plans internally are to switch to Selenium for new projects, and to keep using Delirium for our existing code. If the time does come to switch away from Delirium, you should find translation to our Selenium bindings to be quite straightforward.