QA Corner: Selenium Close-Up View

During the last weeks I’ve been evaluating various automated software testing frameworks (ASTF). Selenium is one of such tools that allow automation of software tests and thus it’s the main topic of this week’s QA Corner.

Selenium in fact is no tool itself, it consists of 3 Tools by name Selenium IDE, Selenium RC and Selenium Grid, that kind of build on each other to provide more functionality. Selenium IDE is a plug-in for Firefox, that allows to records users GUI input, save and replay it in test suits as test cases, thus allow an easy creation of automated web-based GUI tests. Easy to use often also means limited in terms of functionality by nature, that’s why Selenium IDE also offers automatic code generation for various programming languages including C#.NET. This short video provided on the Selenium homepage demonstrates the features of Selenium IDE most suitable: Selenium IDE Intro

The C# Code will be generated for use in the NUnit testing framework, but can be alerted with ease to work together with Visual Studio Unit testing for example. This is where Selenium RC (Remote Control) comes into play. In fact Selenium RC consists of an API that allows the programmer full control over the Selenium Scripting language and a server component that can open, control and close various web browsers like Internet Explorer, Firefox, Opera and Safari via JavaScript input. Selenium IDE and Selenium RC enables the tester to develop an automated test suite that runs on different operating systems and different browsers. While the test cases are easily recorded and converted the tester does still remain full control in terms of alteration. I think that this combination is what is making this tool so popular and why it has a broad community base.

The down terms of Selenium are that it is tight to web GUI testing. Selenium IDE is essentially a Firefox plug-in this means that the tests can only be automatically recorded when using Firefox, not Internet Explorer – of course tests can be run in IE too. I’ve also experienced some difficulties concerning pop ups or IE 8, which is very fussy about Cross Site Scripting Security. The fact that selenium in fact controls browsers via JavaScript input that is processed in the browsers built in JavaScript interpreter makes the IE 8 somewhat resistant to Selenium and it took some time to work around this IE8 “feature”. Going into my Selenium evaluaton in detail would of course go beyond the scope of this blog, but you can read more about Selenium in my upcoming evaluation if you are interested.

Next i’m going to focus on Microsoft’s Test and Lab Manager that comes with Visual Studio 2010. We’ll see how Microsoft handles test automation…

Related Posts

  1. QA Corner: What’s going on?
  2. QA Corner: Microsoft Test and Lab Manager
  3. Sourcecode-Analyse auf Sicherheitsprobleme

Leave a Reply