Selenium Automation Framework

Introduction to Automation testing:

Testing is a fundamental part of a software development method. While testing intermediate versions of products/projects being created, screening team must implement several test cases. Moreover, prior to release every new variation, it's required the edition is passed through some regression and smoke tests. The majority of all such evaluations are standard for every new version of goods/project, and for that reason might be automated to save human assets and time for running them.

Benefits of using automatic testing would be the following:

Mitigation of tests time performance and human resources demanded
Entire control over the evaluations results (real outcomes vs expected outcomes)
Possibility to quickly change evaluations preconditions and input information, and return the tests dynamically with several sets of information.

Automation work-flow for the application could be presented as follows:

First of all it's mandatory to recognize jobs an application has to carry through.
Second, a set of required input data has to be created.
Third, expected outcomes must be defined in order one can judge that the application (a requested attribute) works correspondingly.
Fourth, Executes a test.
Ultimately, Compares expected results with actual effects, and decides if the test has been passed successfully.

Environment Specifications:

  • Selenium Webdriver Training Online (Supports all major browsers, we use Mozilla, chrome and IE)
  • Eclipse IDE
  • Java
  • TestNG
  • AutoIT Application (Used to manage Windows popups for Document Uploads and Downloads.)
  • JExcel or Apache POI to perform operations with excel like study, create and update the excel sheet

This Theoretical Model has got the following software:

1. Selenium : Selenium Webdriver Training Online is a well-know open-source testing framework, which is popular for screening Web-based programs. It's distinct parts and in that selenium Webdriver Tutorial h-AS rendered the Selenium Remote-Control obsolete, and is often known as Selenium Webdriver Training.

Selenium Webdriver Tutorial Online supports nearly all of all browsers to to operate your test cases and several programing languages like C#, Java, Python, Ruby, .Net, Perl, PHP, etc.. to produce and alter your test scripts.

2. Eclipse IDE : Eclipse is an integrated development environment (IDE) for Java. The Eclipse IDE is the most known product of the Eclipse Open Source project.

3. TestNG : Is a testing framework inspired from JUnit and NUnit. It has extended new functionalities which made it stronger and simpler in relation to the other testing frameworks.

It supports ReportNG (easy HTML reporting plug-in) and XLST (Graphical / Pictorial reports) plug-ins to customize or expand the default option TestNG reporting design.

TestNG also provides skill to implement 'IReporter' an interface which may be implemented to generate a Customized TestNG report by consumers. It has 'generateReport()' procedure which is invoked after all the package has completed its execution and gives the report to the designated output directory.

4. AutoIT : AutoIT is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It works on the composite of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks that's difficult with selenium Webdriver Training.

You may also refer the other frameworks available here Key Word Driven Framework and Page Object Model Framework

File Formats Utilized in the Framework:

Properties file We use properties file to save and retrieve the UI elements of an application or a site and data set file paths. It contains id of the components, name, xpath or Css selector etc.
Excel files Excel documents are accustomed to pass multiple sets of information to the program.
Xml file is utilized to run the test scripts. Depending on the program or categories or Evaluations mentioned in the xml file scripts will soon be executed.

The Following describes the structure in depth:-

1. UI Map / Item Repository

UIMap is a notion for defining, storing, and serving UI elements of an application or a website. The UIMap attributes file comprises a set of key-value pairs, where key is an alias of the UI element, as well as a worth is the locator.

2. Data Set / Test Data

Data set stores the data files, Script reads test data from outside data sources and executes test-based on it. Data sets increases test coverage by executing screening with various input signals and reduce the number of general test scripts needed to execute all the test circumstances.

3. Test Automation Scripts

A test is thought to be a single activity or a sequence of actions, that explains whether a specific feature matches functional requirements. It has multiple test files / programs / category files that will be executed in line with the settings defined in testng.xml.

4. Reports / Ran Results

Evaluation report/results is a record which comprises summary of test activities. After execution is finished, it is very very important to convey the test outcome and findings to the project manager along with the screen shots for failed tests and with that decisions may be produced for the launch.

5. TestNG xml file

As a way to generate a test suite and operate separate test cases, we need framework which drives the automation. Here testng.xml might be called as "driver" which drives several test cases automated using selenium code. Edge of using TestNG with Selenium Webdriver Tutorial Online is of operating multiple test cases from multiple types using xml configuration file.

Click here for more information: