Friday, March 18, 2016

Patterns in Test Automation presented at Agile India 2016

I spoke about Patterns of a “good” Test Automation Framework, Locators & Data! in Agile India 2016 in front of a packed room of Developers, Testers, BAs and POs.

Below is the abstract, slides & video of the talk.

Patterns of a “good” Test Automation Framework, Locators & Data!

Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.
However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.
Design Patterns play a big role in helping achieve this goal of building a good and robust framework. 
In this talk, we will talk about, and see examples of various types of patterns you can use for:
  1. Build your Test Automation Framework
  2. Test Data Management
  3. Locators / IDs (for finding / interacting with elements in the browser / app)

Learning Outcome

  • Patterns for building Test Automation Framework
  • Patterns for Test Data Management, with pros and cons of each
  • Patterns for managing locators / IDs for interaction with UI


Slides are available here:


(My attempt of capturing the) video is available here:

Official video will be linked when it gets available.

Monday, March 14, 2016

Protractor for Angular apps?

Already asked these questions in the vodQA group on LinkedIn - but thought to repeat the same here as well - in case someone else also reads this, and has some thoughts.

I am experimenting (again) with Protractor for automation against Angular-based web-apps. This time around, my comfortness with Javascript is better (by a couple more % than before) - so I am better prepped for this challenge. 

That said, I am interested in knowing a few things on this:

  • Has anyone in the group worked with protractor recently? 
  • What has been your experiences in working with it? 
  • Who are the roles involved in the automation implementation, execution and maintenance? 
  • What are the typical utilities you built in this framework?
  • How have you been modelling you page-object pattern with JS / protractor based frameworks? Or, is there some other better set of patterns for JS that should be used?
  • How did you build your page objects? How did you build and manage the composition / nesting of pages? Did the method of a page return an appropriate page object?
  • How many tests exist in your framework? 
  • Do you run your tests in parallel?
  • Do your tests run in CI? If yes, which driver do you use? Protractor site discourages the use of phantomJS. 
  • Would it be possible to share some (non-confidential) examples of how you built your Page Objects? How are your specs written? Any example of that possible to see?
  • Did anyone manage to run their tests against Safari / IE11 as well?
  • What about soft asserts? Did you implement this?
  • I saw a strange issue when running my test against chrome - I got the element is not clickable at xxx coordinates. However the same test ran against Firefox and phantomjs. Anyone seen this before?
  • Given that protractor site does not recommend using phantomJS driver much, anyone used xvfb for running their tests in CI?
  • What reporters do you use?