Test Automation Architecture


A test automation architecture is the organization and abstraction of test scripts, test data, and business logic.
An efficient test automation architecture is one that has all its layers loosely coupled and scalable. In this article, we'll understand the POM design pattern and its implementation.
The page functions and logic are abstracted from test scripts in POM, moreover, it is easy to maintain and scale. It is the application of different tools, methods, and techniques in an efficient way to accomplish varied testing goals.
In POM design pattern, we are treating every page as an object. Every page is an object and these objects are used in the corresponding test class.For every web page we create a java/class file for e.g.
there will be a java file for 'login' page, a separate java file for 'home' page, separate java file for 'about us' page and so on. A typical POM structure can be seen in the below image.
  In the page class, we declare the page elements present on that page as seen in the below image   Also write methods/functions/operations which we want to execute on that page for e.g. java file for login page contains methods/functions related to login functionality like entering username, entering password, clicking submit button, click forgot password link etc.
We just define these functions/operations in loginpage class. The calling of these functions happens in a separate java/class file which is nothing but our test file.
So in the page class we define the function, and in the test file we call those functions. In this way we separate out the test execution from the pages.
As can be seen in the above image, there is a class called loginPaga.java, and another test class called testLoginpage.java. This testLoginpage.java calls the functions defined in loginPaga.java.
Similarly there is homepage.java and its corresponding testHomePage.java and so on.Another important point to remember in POM is that in a page class if suppose clicking a button is redirecting to another page then we need to return object of that page when we perform this operation. For e.g.
if on the home page if clicking 'aboutus' link is redirecting to 'Aboutus' page then we have to return the object of 'Aboutus' page in the method written in homepage for clicking 'aboutus' link. The method written in homepage.java should be like this-public aboutusPage clickonAboutUs(){Webdriver code;return new aboutus;}     This way, the constructor of resulting page gets triggered and page elements and webdriver of subMenuPage gets initialized.
  What does this mean by independent test cases? This means every test case can run independently and there is no dependency on another test case. To achieve this, you need to run preconditions of that particular test case in @BeforeMethod annotation.
A typical structure of a test class is as seen in the below image. There are preconditions defined under @BeforeMethod annotation.
The code under @BeforeMethod annotation will run before the test case execution. This way you can execute preconditions of a test case before the actual execution of the test case.
For e.g. you want to validate "My Account" section of Amazon and under my account to want to validate "your orders" etc.
But before reaching "My account" section you first need to login to your amazon account.So "login" to amazon account will be one of the preconditions of your "My Account" section test case. The below image depicts an example of a product detail page of the Flipkart app where the test case for adding a product to cart is defined under @Test annotation.
But before adding a product to the cart, the product must be first selected from the home page's main category and then final selection from sub menu page's.So category selection from homepage and then product selection from sub menu page are two preconditions before adding a product to the cart.So whenever we run testAddToCart test case, the preconditions will execute before the test case. These preconditions are nothing but previous or predecessor test cases that might have already executed in their respective test classes.
  When we execute our testng.xml file where our test classes are mapped. The testng.xml triggers the respective test class defined in it.
This test class creates an object of its respective page class and call methods or operations defined under the page class. Once the object of a page class is created, its constructor gets called and all the web components and web driver belonging to that page get initialized.
Whenever such an operation is called from the test class which results in navigation to another page, another page's constructor gets called and web components and web driver belonging to the resulting page gets initialized. In this way a typical page object model design pattern works.
Source: Free Articles from ArticlesFactory.com This is Jayesh Jamindar, but I'm more often called as JJ. I'm the owner, author, and developer of techno-geeks.co.in.After completing more than a decade in the software industry, I decided to come up with techno-geeks.co.in with an intent to give quality, classified and organized learning materials to my fellow IT folks.
I've decided to share my learnings and journey over these years to my fellow professionals and students who are about to venture into the industry. The idea is to share my learnings, challenges, roadblocks, and strategy to overcome.In my current professional capacity, I'm overseeing development and testing operations as an SDET.
 .

Top blog stories

A review of Idmobile.com

Idmobile.com offers both pay-as-you-go and contract plans. Pay-as-you-go plans are ideal for customers who don't want to be tied down to a long-term contract, and they can purchase bundles of data, minutes, and texts as and when they need them.

see post

A review of Idmobile.com

Idmobile.com offers both pay-as-you-go and contract plans. Pay-as-you-go plans are ideal for customers who don't want to be tied down to a long-term contract, and they can purchase bundles of data, minutes, and texts as and when they need them.

see post

AO.co: Online Shopping Made Simple

AO.co is a trusted expert in TVs, washing machines, clothes dryers and other household appliances. AO.com is one of the largest retailers in the UK and it specializes in electronics, clothes and home furniture.

see post

For our people.

At Three, we believe phones are good. They just make life better. Easier. And more fun. But we all need to find a balance that works for us. Our mission is to help our customers use their phones to live their best lives.

see post

We make your life easier

We make your life easier Since 1992, we’ve been helping customers get the best deal on their dream phone. We firmly believe in giving you the highest quality, for the lowest price. That’s why we work with three of the UK’s leading networks to do all the haggling for you,...

see post

FOUR BRANDS BECOME ONE. CURRYS.

Currys PLC is a leading omnichannel retailer of technology products and services, operating through 800+ stores and 16 websites in seven countries.

see post

Halfords - Quicker, Easier, and Convenient.

At Halfords, we're all about the journey. With more than 700 stores with over 10,000 colleagues, we're the UK's leading retailer of automotive and cycling products. We are also the leading operator in MOT, tyres, car servicing and car repairs - pleasing more than 750,000 customers every year.

see post

FOUR BRANDS BECOME ONE. CURRYS.

Currys PLC is a leading omnichannel retailer of technology products and services, operating through 800+ stores and 16 websites in seven countries.

see post

Sky - Epic. Endless. Entertainment.

It's important to us that everyone gets great customer service and can enjoy our products, no matter their level of sight. So, if you're blind, partially sighted or struggle to see or read the screen, we’ve a range of features to help you get the most from our products and...

see post

Nasty Gal - We exist for the “girl in progress”.

Look iconic, without the hassle— using Nasty Gal discount codes, you can shop your favorite pieces for way less by simply entering one of our promotional codes (of your choice) at the checkout. From delivery offers, to promo deals, we keep ‘em coming, so you always have the offer you...

see post

Digital Publishing From Past to Now

The Covid-19 has caused the school and universities to shut down around the world creating a major issue in Learning and Education. As this virus spreads through the interaction and if social distanci... The Covid-19 has caused the school and universities to shut down around the world creating a major...

see post

Why it’s Important to Manage Your Holiday Calendars?

A printable calendar 2021 is a prominent online platform where you download printable calendars of your choice. These calendars can be customized as per our client requirement with photo, text, logo, or any other image. If you are thinking of planning a dream vacation tour with family and kids but...

see post

Teenagers and Social Media- Guide for Parents


More than 90% of teenagers use social media and 71% of them have more than one account in these apps. It’s easy to see why social media is popular, but what are the effects or even risks of using social media on the teenager’s brain. A study done at UCLA...

6 Dirty Habits That Are Actually Healthy


There are truckloads of unconventional habits that you should be participating in. If you wanna know about them, curb your desire to puke and sit tight! Do you secretly indulge in questionable habits? You’d be lying if you said no to this! Come on, we all have our fair share...

Migrate Microsoft Teams from one Tenant to another


Planning to Migrate Microsoft Teams from one tenant to another? Know the alternate processes to tackle all your MS Teams migration worries. Planning an MS Teams migration from one tenant to another? Let us help you out with few alternate processes to tackle all your migration worries.   Microsoft Teams: The...

Interviews on lifestyle news - An Overview


Update Needed to Enjoy the media you need to either update your browser to your modern version or update your Flash plugin. Looking at and expecting specific filler term alternatives will probably be challenging as it's subtle. Pals may be additional prone to note a change in how you converse...

Bringing Your Clients the Power of Positive Thinking


Norman Vincent Peale, author of the book The Power of Positive Thinking once said, “Change your thoughts and you can change your world.” Many of us, when we face challenges in life, aren’t interested in people telling us to “look on the bright side” or to keep a positive attitude....

Psychological problems and the treatments within you


Psychological problems and the treatment is within you   Why isn’t pulling your hair considered a socially acceptable way of dealing with distress while smoking is?  The worst case scenarios ... Psychological problems and the treatment is within you   Why isn’t pulling your hair considered a socially acceptable way of dealing...

Latest Politics News | Current Politics News In India


This has led towards the rise of political functions with agendas catering to one or a mix of these teams. Events in India also concentrate on people who find themselves not in favour of other functions and use them as an asset. The president is shifting his messaging within the...

PMUY: Pradhan Mantri Ujjwala Yojana Recommendations


Three boundaries drive a maximum of the low uptake of PMUY refills: Affordability – because of the excessive powerful price of the top off, that's INR 150–250 (USD 2.3–3.8). This value is better than the actual refill rate once misplaced wages and transportation fees are factored in. The inconvenience of...

PMSBY: Features of Pradhan Mantri Suraksha Bima Yojana


PM Narendra Modi in 2015 launched Pradhan Mantri Suraksha Bima Yojana (PMSBY) in Kolkata, West Bengal. It is an Accident Insurance Scheme (AIS) supplying demise and incapacity cover as a result of an accident.Insurance isn't a newer concept to India; however, its attain is still tons limited. In spite of...

Pradhan Mantri Jan Dhan Yojana


The Government of India has regularized specific saving schemes for the welfare of citizens. These schemes are added into movement with one common objective- a guide to all individuals. One such scheme is Pradhan Mantri Jan Dhan Yojana introduced by means of the Prime Minister of India on 15 August...

Search topic

Pradhan Mantri Jan Dhan Yojana

The Government of India has regularized specific saving schemes for the welfare of citizens. These schemes are added into movement with one common objective- a guide to all individuals. One such scheme is Pradhan Mantri Jan Dhan Yojana introduced by means of the Prime Minister of India on 15 August...

Learn more