In a software industry, when an application attains the phase of stable manual testing, every organization wants to use automation to save expenses. Open source tools are constantly being enhanced to support automating a variety of applications at a much lower cost compared to licensed tools.
The principle of automated QA testing is to run a program that itself runs a program code being tested, enters the proper input, and checks the output against the expected output. Nowadays, we see agile methodology is widespread in software industry. This tool can be of great help as the agile methodology predominantly emphasizes on a repetitive method of delivering small pieces of software in a short span of time.
One of the initial steps of web application test automation is to identify the element on the web page. We then need to perform user actions using predefined functions in the selected tool and compare actual results with expected results.
This article covers the key flow of one of the open source web testing automation tools, Selenium. Selenium has gained a lot of popularity in automated testing of web applications. It only supports web application test automation. This tool is widely used for GUI as well as functionality testing. Selenium provides a huge set of commands. The command set is called selenese.
Although selenium has various components, below are a few major tools that are widely used. Each tool has a definite function in building test automation for a web application.
a.Selenium IDE: Selenium was first introduced with selenium IDE in 2006. It is an integrated development environment for automating test cases. It is an easy-to-use Firefox plug-in and allows recording, debugging and editing tests. It provides intelligent functionality for identifying elements on a web page using IDs, names, or Xpath.
While automating a web application using selenium IDE, the biggest challenge is the limitation in terms of browser support. Scripts written using selenium IDE can be used only on the Firefox browser. Iterative execution of tests recorded through Selenium IDE is also a challenge. To overcome these challenges, selenium RC came into picture.
b.Selenium RC: This component supports multiple browsers in running recorded test cases. These recorded test cases can be saved in any programming language. The server passes selenese to the browser by using selenium-core JavaScript commands. The browser uses its JavaScript interpreter to execute the selenium command. This runs the verification or action specified in the test script. Selenium RC comes in two parts:
i.The selenium server launches and kills browsers, interprets and runs the selenese commands, and acts as an HTTP proxy.
ii.Selenium client libraries provide the interface between the selenium RC server and the programming language (Java, .NET, Perl, C#, PHP and Ruby).
Selenium RC is excellent for performing QA and testing complicated AJAX-based UI elements. As compared to Selenese HTML table format, selenium IDE users can create tests in a more interactive programming language.
c.Selenium WebDriver: Selenium WebDriver focuses on designing a more interactive programming interface for web application testing which helps in improving cross browser support. It not tied with any framework; therefore, it can be used with Junit, TestNG or simply from the main method by importing WebDriver classes. It also provides API with functionality that is not supported in RC server and is not dependent on javascript.
A lot of options have come in lately in the open source space to make test automation more feasible. Selenium is one such very popular solution, which continues to evolve with active support from the user community. We, at QA InfoTech have built our own test automation frameworks enhanced on top of Selenium, to overcome its limitations and have been able to successfully use it in a lot of client engagements.
The principle of automated QA testing is to run a program that itself runs a program code being tested, enters the proper input, and checks the output against the expected output. Nowadays, we see agile methodology is widespread in software industry. This tool can be of great help as the agile methodology predominantly emphasizes on a repetitive method of delivering small pieces of software in a short span of time.
One of the initial steps of web application test automation is to identify the element on the web page. We then need to perform user actions using predefined functions in the selected tool and compare actual results with expected results.
This article covers the key flow of one of the open source web testing automation tools, Selenium. Selenium has gained a lot of popularity in automated testing of web applications. It only supports web application test automation. This tool is widely used for GUI as well as functionality testing. Selenium provides a huge set of commands. The command set is called selenese.
Although selenium has various components, below are a few major tools that are widely used. Each tool has a definite function in building test automation for a web application.
a.Selenium IDE: Selenium was first introduced with selenium IDE in 2006. It is an integrated development environment for automating test cases. It is an easy-to-use Firefox plug-in and allows recording, debugging and editing tests. It provides intelligent functionality for identifying elements on a web page using IDs, names, or Xpath.
While automating a web application using selenium IDE, the biggest challenge is the limitation in terms of browser support. Scripts written using selenium IDE can be used only on the Firefox browser. Iterative execution of tests recorded through Selenium IDE is also a challenge. To overcome these challenges, selenium RC came into picture.
b.Selenium RC: This component supports multiple browsers in running recorded test cases. These recorded test cases can be saved in any programming language. The server passes selenese to the browser by using selenium-core JavaScript commands. The browser uses its JavaScript interpreter to execute the selenium command. This runs the verification or action specified in the test script. Selenium RC comes in two parts:
i.The selenium server launches and kills browsers, interprets and runs the selenese commands, and acts as an HTTP proxy.
ii.Selenium client libraries provide the interface between the selenium RC server and the programming language (Java, .NET, Perl, C#, PHP and Ruby).
Selenium RC is excellent for performing QA and testing complicated AJAX-based UI elements. As compared to Selenese HTML table format, selenium IDE users can create tests in a more interactive programming language.
c.Selenium WebDriver: Selenium WebDriver focuses on designing a more interactive programming interface for web application testing which helps in improving cross browser support. It not tied with any framework; therefore, it can be used with Junit, TestNG or simply from the main method by importing WebDriver classes. It also provides API with functionality that is not supported in RC server and is not dependent on javascript.
A lot of options have come in lately in the open source space to make test automation more feasible. Selenium is one such very popular solution, which continues to evolve with active support from the user community. We, at QA InfoTech have built our own test automation frameworks enhanced on top of Selenium, to overcome its limitations and have been able to successfully use it in a lot of client engagements.
SHARE