Another successful Selenium meetup in London!

Posted: April 21st, 2010 | Author: Dave | Filed under: Events | Tags: , , , | 3 Comments »

Last night was the second London Selenium Users meetup. In contrast to the last one – a purely social event in a pub in Fitzrovia – this one was hosted by Google with talks from myself, David Burns (The Automated Tester), Eran Messeri (Google), and a Q&A with Simon Stewart (Google).

I arrived at Google’s London HQ (or Googleplex) at 18:00 to meet with Eran and Simon – who was only around thanks to the cloud of volcanic ash preventing him from flying out to New York! After a quick tour of the offices, and a brief label-off (I lost) people started to arrive. They were early – definitely a good sign!

I was the first to present, and I’m not used to speaking in-front of an audience, but my preparation and practise paid off as I feel my presentation went well. My talk covered a suggested migration path from Selenium IDE to Selenium 2 using my WebDriver Backed Formatters plugin for IDE, and contained live demos. After a few questions my presentation was over and I could relax!

Google's London HQPresenting at the second London Selenium Users group

David Burns next took to the stage with his presentation on what Selenium 2 means to the average QA. There was a short delay in getting started (which I understand we’re blaming Eran for, but might be more to do with David not using a Macbook ;) ). Before long David’s talk was under way. Of particular interest were the demos, where by simply switching a test to use Selenium 2 he solved one of the most irritating limitations of Selenium 1 – typing into a rich text editor! This was followed by solving another limitation, with a demo that entered a file name into a <input type=”file”> field. After a few more questions for both David and Simon, the second presentation came to an end.

After our final break Eran gave a short presentation of his current work on an advanced user interactions API, which is something I’m looking forward to for testing complex Ajax applications with rich interfaces. The idea being that you can combine several actions such as ‘Hold shift, click down on element X, and drag it onto element Y’. Also mentioned was the mobile (or ‘Fingers’) interactions API to support swiping, pinching, etc. A very good talk, and proof (if needed) that Google are taking the future of Selenium very seriously – there’s a lot of work going into it!

Earlier on in the evening Simon had asked for questions to be written on the whiteboard, and instead of his planned talk – which he’d mostly given all of the details out as answers to questions throughout the evening – he worked his way through the list. The questions included: testing Ajax applications using Selenium 2 (you can), is the Selenium IDE dead (no), is Selenese dead (not quite), and does Selenium Grid support Selenium 2 (not yet).

After the Q&A it there was just time for some more refreshments, but then I had to then start my journey home. I hear those that stayed had some lively discussions in the nearby pub about dynamic Firefox instances and the like, with Google buying everyone one more beer!

Feedback on the event has so far been very positive, and I’d like to thank everyone that came along – there were some interesting questions, and a good range of Selenium experience in the room.

It was a thoroughly enjoyable event and I’d like to thank Google for being such awesome hosts, Simon for all of his efforts and question answering, Eran Messeri for his great work on the project and for sharing some of that with us, and David Burns for his presentation and demos.

I would also like to thank Jérémy Hérault (Selenium committer) and Kévin Pollet (creator of Helium plugin for Selenium IDE) for coming along – they were travelling for 8 hours to get to the event and had to do a return journey the same day! I hope it hasn’t put you off coming to future events guys!

Slides, notes, demos, videos (possibly), all to follow!


Selenium IDE – My plugin baby

Posted: February 22nd, 2010 | Author: Dave | Filed under: Plugins | Tags: , , | 2 Comments »

With last month’s release of Selenium IDE 1.0.4 came initial support for plugins, and this month’s release of 1.0.5 continues to build on the new plugin API as well as fixing a few bugs.

This is quite possibly the most exciting development in Selenium IDE in a long time, and the best thing is that it enables users to come up with their own improvements – in much the same way as Greasemonkey or Firefox addons themselves. The possibilities are endless.

Adam Goucher continues to post guidance on creating plugins on his blog as the API evolves. I have followed these myself to create two plugins:

  • Flow control – This is actually just an old Selenium user extension that I’ve repackaged into a plugin. Two main advantages of doing this are: an easy install/disable/uninstall process, and no messing around with JavaScript files! [install] [public repository]
  • WebDriver Backed Selenium Formatters – This is a formatter plugin that provides the Selenium emulation from WebDriver, giving quick access to WebDriver’s advantages without changing from the existing Selenium API. [install] [public repository]

These plugins are available to download from SeleniumExamples, and you can view the source/report issues/provide feedback via the GitHub repositories.

Let SeleniumExamples know if you’re developing your own plugin, or have any good ideas. I’ll be happy to review, host, or link to your plugins – most of all we want to encourage plugin development.

Update:
Plugins now made available via addons.mozilla.org:


Selenium 2 Examples

Posted: December 11th, 2009 | Author: Dave | Filed under: Examples | Tags: , , , | 11 Comments »

Yesterday Selenium 2 (alpha 1) was released. This is the first release since the Selenium and WebDriver projects started to merge. The main difference is the inclusion of the WebDriver API into Selenium. I’ve put together a small example below that uses the new API to log into two web based e-mail clients and send an e-mail.

Read the rest of this entry »