Site icon TestingDocs.com

Sample Selenium Framework with TestNG

Introduction

Designing a Selenium automation framework requires a well-defined approach that takes into account both short-term and long-term goals to maximize the benefits of automation. The main advantages of an automation framework include increased test coverage, improved efficiency of test resources, enhanced quality and reliability of the software application under test (AUT), and better maintainability of the automation code.

 

 

An effective web application automation using Selenium is with the Page Object Model. Page objects offer minimum changes to the test scripts when the application under test code changes.

What is a Page Object?

A page object wraps an HTML application page, with an automation-specific API ( application programming interface ), allowing you to manipulate page elements without knowing the test application HTML code. To learn more about Page objects see the below links:

Page Objects

TestNG Framework.

TestNG is a test framework usually for large-scale end-to-end testing needs.
It uses Java, and test methods are written using @Test annotation. ( TestNG Framework Tutorial )

Automation Process

Most companies adopt  Agile testing techniques to achieve test automation. Most of the input for automation tests comes from user stories. Automation Engineers work closely with the Manual QA and Development teams to derive automation scenarios and testing scope.

What needs to be automated?

Plan to automate repeated tests and replace important tests that are difficult to execute manually.  We might ask these questions about what needs to be automated.

Sample automation code flow

 

 

We can divide the effort into two main parts concerning the Selenium Automation Framework.

 

Framework development effort involves the development of Page Objects, common functions, Test configuration, handling test data, logging utility, reporting utility, and any functionality common to entire scripts. Test scripts are developed based on test scenarios provided and identified by the Manual team.

Automation Tools generally required for our sample automation framework:

Automation Code Repository Perforce or GitHub or SVN
Framework TestNG Framework
Tools Eclipse IDE or IntelliJ IDE, Selenium WebDriver, TestNG API, Surefire Maven Plugin, Log4J, JXL( Excel Java API ), Jackson mapper, SnakeYAML, etc
Language Java 1.8
Build Tool
Maven, Gradle Tool.
Continuous Integration Jenkins, CircleCI, etc.

Tools

https://www.testingdocs.com/downloading-and-extracting-eclipse-ide/

https://www.testingdocs.com/testng-framework-basics/

https://www.testingdocs.com/getting-started-with-git-version-control/

https://www.testingdocs.com/getting-started-with-jenkins/

https://www.testingdocs.com/what-is-maven/

The Sample Framework is shown below with major components of our sample selenium automation framework using TestNG. The figure illustrates the tasks involved from the collection of automation scenarios to the end of report generation.

Sample Automation framework

A sample automation framework with major components.

 

 

 

 

See also

https://www.testingdocs.com/selenium-4-project-setup-guide/

For more information, please visit Selenium’s official website:

https://www.selenium.dev/

Exit mobile version