Automation framework design requires a well-defined approach. Based on short-term goals as well as long term goals kept in mind, in order to reap the maximum benefits of automation.
Any automation framework benefit is its ability to increase the test coverage, increase the efficiency of test resources, increase the quality and reliability of the software application under test (AUT), and maintainability of 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 the knowledge of the test application HTML code. To learn more about Page objects see below links:
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 )
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 automation testing scope.
What needs to be automated?
Plan to automate repeated tests and replaced important tests that are difficult to execute manually. We might ask these questions about what needs to be automated.
Is the scenario repeatable?
Does it need a manual intervention?
Are test Data available?
Is the test a candidate for the Regression test?
Is the expected result clear for the Test scenario?
Sample automation code flow
We can divide the effort into two main parts with regard to Selenium Automation Framework.
2.Test Scripts Authoring using the framework.
Framework development effort involves the development of Page Objects , common functions,test configuration, handling test data, logging utility, reporting utility, and any functionality which is 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|
|Tools||Eclipse IDE or IntelliJ IDE , Selenium WebDriver,TestNG API , Surefire Maven Plugin,Log4J, JXL( Excel Java API ) , Jackson mapper , SnakeYAML etc|
||Maven , Gradle Tool.|
|Continuous Integration||Jenkins , CircleCI etc.|
You can find the Sample Framework shown below in the picture 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.