Plenty of cool stuff going on around, but before I can reveal something more, I’d like to share some interesting stuff I’ve found recently:

Coypu (https://github.com/featurist/coypu)

Coypu is a web browser automation library for .NET. If you’ve done some E2E testing Angular.js (aka scenario testing - http://docs.angularjs.org/guide/dev_guide.e2e-testing) you should have already got the idea by now - you don’t have to write any selector or meddle with HTML/CSS directly - Coypu provides you an abstraction layer (almost DSL-like), so you just focus on the activities user performs on the page (“type value XYZ into field named ABC”, “click ‘Submit’ button”, etc.).

What’s the benefit? First - it saves some time and is less error-prone with direct fiddling with JavaScript. And tests are far more readable - what makes them easier to maintain as well.

How does it access the browser / what browser is it complaint with? It utilizes the SeleniumWebDriver (http://www.seleniumhq.org/projects/webdriver/), so it’s able use any of the most reasonable browsers available, including PhantomJS (http://phantomjs.org/), if you’re up for some serious speed.

So, if you want to do some concise BDD in your presentation layer, but you don’t like JavaScript and Jasmine (http://pivotal.github.io/jasmine/) makes you puke? Go for SpecFlow (http://www.specflow.org/) with Coypu.

spy-js (https://github.com/spy-js/spy-js)

If you think Coypu is cool, wait until you put your hands on spy-js. It’s a very, very smart node.js module that works as a proxy for web apps, But what does it actually do? It traces the execution of JavaScript on the target side and is able to register such information as:

  • full history of time-based ordered events that occured within the traced webpage (yes! Yes! YES!)
  • call stack for event (!)
  • the code that was actually executed in the event handler - sounds like ol’ good Firebug? but here you can find the registered value of parameters as well (!)

There can be just one comment - if I knew that tool earlier! :)

Anyway, tools is that promising, that it as already been taken over by JetBrains (who contracted its creator) - just few weeks after spy-js has been published. Hopefully it will only help to improve the product as it’s worth the attention it gets so far.

Share this post