DalekJS: a cross-platform, Javascript-based alternative to Selenium

DalekJS logo

DalekJS is a free and open source user interface (UI) testing tool written in Javascript and runnning in NodeJS though, like most Node tools, this is transparent once the installation is complete (which itself takes only a few minutes). Created by Sebastian Golasch as a response to the tortuous install process and maintenance nightmare that is Selenium-based testing this is a tool written by developers to solve developers real world web testing problems.

The current release is version 0.0.1 and described by Sebastian as “buggy as hell & not ready for production yet” though it is already feature-rich and definitely usable. Simple Javascript-based test scripts can easily check page properties such as title, dimensions, etc. as well as perform actions such as clicking links and buttons and filling forms.

DalekJS might just be the UI testing tool that web developers have been waiting for. Watch the following 15 minute video for a quick overview of just what Dalek can do and how easily it can do it.



5 thoughts on “DalekJS: a cross-platform, Javascript-based alternative to Selenium

  1. Thank you for your write up dvolvr!

    Do I sense some Selenium bashing on the DalekJS Getting started page ( http://dalekjs.com/pages/getStarted.html ) ?

    Using webdriver a Selenium author can write their tests in ANY language however if you use DalekJS you can use JS only.

    The test case “maintenance nightmare” is the age old problem of having to update test cases when a developer makes a change to the UI. This is always going to have to be done whether using Selenium or DalekJS so I don’t see the relevancy of Sebastian’s point.

    Can I run a grid of DalekJS servers like Selenium Grid ? Call it DalekJs Invasion 🙂

    I must admit I have not yet used DalekJS and hence there is potential for some of my statements to be incorrect (although hopefully not).

    With the above now said, any new user interface (UI) testing tool is a welcome addition. Welcome DalekJS !

    A Kaled mutant.

  2. Hey Danny,

    sorry for the late reply, I just recently discovered your comment.

    I´m the author of DalekJS & it wasn’t my intention to bash Selenium.
    First of all, I think this is a great (and well developed) tool. Second, my point was that Selenium might not be the best fit for all situations & projects (especially in a non Java Environment, where none of the devs has a clue how to set things up).

    You are also right, that you can write Selenium tests in many different languages, but especially the NodeJS adapter is a beast if you do not now anything about promises or NodeJS at all.

    Daleks aim is to deliver a Front End Developer friendly API, something a typical “I can paste jQuery plugins into my page to make things happen” developer understands. If we all like it or not, most of the Web out there is built by this kind of developers & we need to give them access to “the world of testing” to make the web a better place for all of us.

    Well, by the time writing this, Dalek isn’t stable, has a lot of bugs & needs even more simplified to fulfil this goal.
    Fortunately a few contributors are now working with me on that goal.

    Also, I´m working on a Selenium adapter, which will make it possible to run Dalek tests against a Selenium Grid, so Dalek & Selenium are not enemies, I hope they will become friends in the future 😉

    Regarding your question about the “Grid functionality”, since its latest release, Dalek is able to remotly run/control browsers in a network.
    See: https://vimeo.com/78144005

    About the “maintenance nightmare”, yes you are right, every change in behaviour, markup, etc. needs to be adapted, but my point is, that with Dalek, this can be done by the same developer who initially made the change (given the “jQuery plugin kind of” developer scenario mentioned above). I saw this happening in our team, the Q&A guys now have more time focusing on their tasks, instead of changing the tests, because a developer changed it.

    So, I hope you do understand my intention now a bit better & thanks for your critic, it´s always better to question things instead of being ranting person. Thanks for the warm welcome, I hope you give Dalek a try sometime soon, if so, please tell me about your experiences (especially the bad ones) 😉


    1. If Selenium works for you then stick with it… there are plenty of people who also find COBOL more than sufficient for their needs. For many of us though, Selenium just isn’t that good; it’s old fashioned, clumsy and feels like it’s held together with chewing gum. Sebastian, the author of DalekJS, makes a good case for why he gave up on Selenium on the DalekJS website – http://dalekjs.com/pages/getStarted.html.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s