Geeks With Blogs

News QTP and Stuff
Theo Moore Questions... Morphology? Longevity? Incept dates?
Been working Selenium for the past several weeks and it's not bad as a Web testing tool. It does have some limitations (some imposed by the language in which you choose to work), but you can either ignore these in most cases for find a way around them (I wrote, for example, a .Net exe which I call from the Java code to do some Win API stuff).

Selenium doesn't out of the box encourage an OO design. Everything is handled via the Selenium object using xpath expressions indicating where to do whatever you want (type, click, etc.). There are some functions that improve this a bit (getTable function), but still very procedural in nature. For simple tests, this works fine.

I am trying to build, however, a reusable test framework that others can use. Ideally, I want to create a means to allow other testers to build tests without having to fight with all of the Xpath and Selenium's challenges. So, I am wrapping up all the Selenium calls and xpath in Java classes to abstract the procedural. I will also use base classes to centralize as much behaviour and simplify maintenance (when it is smart...many of the pieces on our site are reused components). As much as possible, I am going to mirror the dev design structure and nomenclature to allow existing manual testers to follow the design better.

Overall, this could be a great project and a lot of fun. I've described what I want to do to my boss, and he agrees the design is sound. As a result, I am going to be given time to get this right without worry. Most excellent!

On a side note, it is such a relief working for a boss who actually understands what I am saying and could, if he had time, do what I do. So much easier.....

More on this as the work proceeds, I've no doubt. Posted on Tuesday, January 27, 2009 8:50 AM | Back to top


Comments on this post: Selenium: An OOP approach

Comments are closed.
Comments have been closed on this topic.
Copyright © Theo Moore | Powered by: GeeksWithBlogs.net