Building a Framework for TeamMentor’s browser automation process

Christopher Alexander wrote :“Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” 1.

This sentence does not need more words to describe what a design pattern is. I find very interesting to be able to apply this concept to a framework for browser automation.

During the last couple of days I’ve  been working on a really interesting (and a great challenge for me too) project at TeamMentor focused on browser automation. First with the idea of making easy to execute a smoke test but also with the idea to take advantage of cutting edge technologies to invest in quality.

What have we done so far?

When I think about a framework, I always think about a tool that offers me all the functionalities I really need to achieve any task. I’ve been thinking about what elements are required to build our automation framework, that in some easy way can help to improve the quality of the products we offer and make sure that release after release everything works as expected. So we have added the following items to our framework:

  • Capability for executing a single unit test in three browsers (Firefox, Internet explorer,Chrome)
  • Base classes to avoid code duplicity
  • Extension methods in order to have a set of options.
  • Design patterns (Including The Page Object pattern).

I’m continuously researching about best practices in the automation process that can help us to ensure the quality of the products 🙂


About Michael Hidalgo

Michael is a Software Developer Engineer based on San José, Costa Rica. He leads the OWASP Chapter from Costa Rica. You can take a look at my blog at
This entry was posted in Architecture, Browser Automation, UnitTests and tagged , , . Bookmark the permalink.

Leave a Reply

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

You are commenting using your 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