Essay, Pages 12 (2759 words)
The end of this paper is to put forth the attack for “ Automatizing the Web Applications Using SELENIUM RC ( an unfastened beginning trial mechanization tool ) ” . Selenium Remote Control ( RC ) is a trial tool that simulates web browsers and supports six programming linguistic communications. Many package applications today are written as web-based applications to be run in an Internet browser. Selenium is a set of powerful different package tools working with many browsers, runing systems, programming linguistic communications, and proving models each with a different attack to back uping mechanization trial for proving web-based applications.
JMeter is used to imitate a heavy burden on a waiter, web or object to prove its strength or to analyse overall public presentation under different burden types. JMeter operates at the protocol-level, on the other manus, Selenium works at the user-level. With the usage of the package model, we expeditiously better the extensibility and reusability of machine-controlled trial. Selenium RC provides merely basic functionalities utilizing the client drivers.
But there is an effectual manner of spread outing the functionalities by implementing the idea procedure to capture user actions automatically, creates a customized lumberman file, coevals of customized trial drumhead study.
Keywords-selenium ; web ; jmeter ; mechanization proving model
Recent advancement in the Software Automation Industry has shown a enormous model execution in order to put to death trial instances for conveying out a better quality web application. As 1000000s of people are passing many hours of clip in cyberspace, due to which, the web applications are going more popular and progressively more complex since the end of it, is to affect and derive the possible market topographic point.
Thus the demand for the codification quality and maintainability has grown drastically and as a consequence, the demand for proving of these applications has become more of import. Testing the web application during the application development stage has become an built-in portion of the Software Development Life Cycle ( S.D.L.C ) and these trials are typically planned to look into the functionality of the application.
As the web applications face a batch of sweetenings, chance of carry oning insistent testing of the application functionality goes high and therefore we go for trial mechanization in topographic point of arrested development proving. Test Automation is a strategic attack designed in a signifier of a model to derive control over the executing of the trials.
The credence trial of web applications frequently involves some manual undertakings. Making it manually, the operating forces human mistake can happen easy. At the same, it wastes the clip. The web-based applications were bearing the more and more complex concern logic and more and more immense information platform formation, along with the features of short release rhythm and the speedy regeneration. This requires the web application trials to be of fullness, expansibility and efficiency. The Browser carrying on web applications besides was emerging in variegation and pluralism. It besides increases complexness and work load for the web application proving. More attending should be paid to the web application proving efficiency, reusability, and fullness.
Aim at some job mentioned above, the paper presents the trial mechanization model that was integrated by the two sorts of trial mechanization tool Selenium and Jmeter.
Common Web trial mechanization tools, such as QTP, Win Runner Load Runner, Robot, SilkTest, Selenium are used widely in mechanization trial. Selenium can be said to be the most comprehensive of unfastened beginning Web trial mechanization tools, particularly good back up to the Web application which employed the BackBase model.
Jmeter, Grinder, Multi-Mechanize, OpenSTA are common force per unit area trial tools. However, Jmeter developed by Apache organisation is an unfastened beginning force per unit area trial tool based on Java. It can be used on the waiter, the web or other object to imitate immense burden, in different force per unit area under a assortment of proving their strength and analyse the overall public presentation, beyond that, it takes some sorts of trial consequence studies.
Implement of the trial mechanization model shows that the trial mechanization model is convenient to transport on map trial, public presentation testing, and lading trial in web applications. It besides shows that it has better trial public presentation in reusability, extensibility, fullness, and feasibleness.
We are all known that Selenium and JMeter package proving model tools work at the different degrees. Selenium works at the user-level while JMeter operates at the protocol-level. In order to easy to transport on different trials for a web applications and to portion proving processs and trial informations between different sorts of trials, this paper presents one trial mechanization model by an integrating of Selenium and Jmeter.
II. Technical Overview
Initially developed by Jason Huggins and released in 2004. Selenium is really celebrated as it is an unfastened beginning suite of tools specifically developed for proving web applications. It supports a trial sphere specific linguistic communication ( DSL ) to put to death trials in many programming linguistic communications such as C # , Java, Ruby, Groovy, Python, PHP, and Perl. ,
B. Selenium IDE
It is a Mozilla Firefox add-on which is capable of entering the user actions and besides play-back. Since Se IDE is an incorporate development environment, Tester can besides redact and debug the trials in above mentioned linguistic communications. Latest version of Selenium IDE is 1.0.10.
C. Selenium RC
It is a waiter / solution for put to deathing additive / arrested development / integrating trials. RC obtains the bids from the Se waiter and run the trials via the browser. Recorded user actions from the Se IDE can be obtained in any supported scheduling linguistic communication so imported to overshadow for trial case/suite executing. It contains the client drivers such as dotnet, Java, Perl, Php, python, ruby and the Se waiter.
D. Eclipse Java EE IDE:
It is an extensile unfastened beginning IDE. It provides a figure of AIDSs that makes coders /testers write code much quicker and easier than utilizing a text editor. This means that a individual can pass more clip larning Java, less clip typewriting. Here eclipse IDE is user to compose trial instances and put to death it.
III. AUTOMATION FRAMEWORK
A. Well known mechanization models
A “ Test Automation Framework ” is an incorporate system that combines the set of premises, constructs and tools which provides support for automated package proving. The chief advantage of such a model is it defines the organisation ‘s manner of making things as a alone criterion. If there is alteration to any trial instance so merely the trial instance needs to be updated and the trial suite and ANT book will stay the same.
There are several types of mechanization models ; some of the most normally known models include the followers:
Selenium Based Test Automation Framework
figure 1: model construction
Till now we have a clear thought on the cardinal constructs of Selenium, occultation and informations driven model, the following measure will be to come up with a basic design for the overall trial mechanization architecture. The model contains some chief constituents, they are as follows.
I. Test Suite
A. ANT book
A Script that is used to put to death a set of direction utilizing build.xml. It is used to run individual trial or batch trial. Single trial could be used to put to death a individual trial suite while batch trial can be used to run multiple trial suites.
B. Reusable Library
Reclaimable library consists of the common maps that can be reused. Reclaimable library consist of those maps that are application independent and can be called to execute certain undertakings. It can besides dwell of a group of tools or public-service corporations that will heighten the overall mechanization model. In this instance the reclaimable library is a aggregation of public-service corporations that deliver the capablenesss to make elaborate bore down studies in different formats, aid log events and salvage snapshots of trials that fail ( snap shootings or screen shootings of failures ) .
C. Library Files
Library files consist of the major back uping libraries files which are necessary for the mechanization. For ex: selenium-server.jar, selenium-java-client-driver.jar.
Logger is chiefly designed to assist the user to see the measure by measure executing of the trial books along with the clip cast, executing position whether it passed or failed. The logger constituent of the model can be customized in many ways as per the user ‘s cognition.
E. Test Data
Test Data contains the excel workbooks with trial informations sheets keeping the input values to the application under trial.
F. Test Report
The trial study is generated by ANT at the terminal of the trial executing. The trial study displays the overall executing position.
G. Test Screens
As mentioned earlier reclaimable maps are called to capture the screen shooting of the failed trials. The trial screen can be customized by the user in the book and could be used to capture the screen shooting of the AUT where of all time it is required. For Ex-husband: User Name, Password entered incorrect. The mistake message is used as an averment to trip the screen gaining control.
H. Test Scripts
The trial books are the.java files which represents the trial instances of the AUT.
I. Test Suite
Test suite is set up to cover executing of the specified trial instance name and the precedence of the executing takes topographic point contiguously.
IV. Testing Automation Framework Design and Implementation
The information about the same type of web applications abstracts manner from the web-based trial mechanization model and signifier into a individual constellation file. By making so, we guarantee that trial mechanization model and the application to be tested should be avoided interfere with each other, comparatively independent. The trial mechanization model divides diverseness interface elements and polygonal interface elements into non-variance elements and variable aggregation of infinite. It ensures that this trial mechanization model can be compatible with the same type of many applications, does non necessitate any alteration.
We have designed a trial mechanization model by using selenium trial tools with back uping a assortment of Web browser for work outing web applications compatibility across the browsers ( Figure 2 ) . It provides examiners with a simple interface. It lets examiners to configure different browsers handily for web application trial.
In order to supply examiners with tool to imitate browser to direct a assortment of grounds of petition maps to a web application waiter, Jmeter map was integrated into the trial mechanization model designed in this paper. It will make non do any incommodiousness to the public presentation trial in which the browser was opened and PC resources were occupied. At the same clip, a trial mechanization model can fix a mass of informations for public presentation trial by straight configure informations resources.
In order to guarantee catholicity, the trial mechanization model designed in our work non merely provides examiners with incorporate trial instances, but besides leaves the extensibility infinite for presenting other trial tools in the hereafter.
Using the new trial mechanization model, examiners can configure a trial type easy merely through modifying a trial type and can exchange among different trials without changing any elements related to prove instances.
figure 2: a web-based trial mechanization framewo
A. General Structure of the Integrated Automation Testing Framework
The incorporate car proving model designed in this paper includes five constituents listed the undermentioned ( Figure 3 ) : implement name of workers ( Translator, Actionworker, Comparator, testresultCollector ) .
Model: This constituent contains the object theoretical account which is converted from XML. Such as Action, Assertion, Element, ApplicationData, Cases, ToolsSetting.
Translator has two stairss. The first measure is to interpret each trial instance into sets of actions related to the different testing types, such as UI, backend, and lading trial. The 2nd measure is to interpret each set of actions into specific tools ‘ commands/scripts depending on the tool employed in making the existent testing.
ActionWorker map is to name the corresponding tool to make the specific actions.
Comparator map is to compare the trial consequence with the expected consequence. Comparator has two parts. One is to roll up the trial consequence and expected consequence. Another is to compare against the expected consequence.
figure 3: constituent diagram
a ) Model ( Overall Entity )
These categories in the below are entity, and they relate to the testsuite XML, application background XML ( Refer to Figure 4 ) .
B ) Function Description
Functional trials are intended to assist examiners verify that a system, as a whole, maps as intended. Such trials verify that everything is wired together right. Therefore, we define a set of maps for the new trial mechanization model.
degree Celsius ) Overall Process Flow
The testing model has basic five stairss:
1 ) By utilizing xmlObjectConvertor ( ) to change over the trial instance to TestCase entity, convert the trial stairss of trial instance to TestCaseAction entity, convert the averment of trial instance to Assertion entity, convert the application background xml to ApplicatonData entity ;
2 ) To unite the trial instances with application informations ;
3 ) By utilizing translate ( ) map to interpret the instance to TestToolCase ;
4 ) To name the specific actionworker for specific proving tool to make the TestToolAction with the doAction ( ) map ;
5 ) To roll up the trial consequence for the specific proving tool by collectTestResult ( ) map, and roll up the expected trial consequence by collectExpectedResult ( ) , so compare the trial consequence with the expected consequence with comparison ( ) map.
B. The hierarchal constructions of The Integrated Automation Testing Framework
figure 4. overall entities
A ) Translator
Translator has two degrees. Translate the trial instance which is prepared by examiner to a tool trial instance which can be recognized by a specific trial tool. The transcriber bed procedure flow like the followers:
To acquire a transcriber name with a specific trial type by getTranslatorName ( ) map ;
To interpret the trial instance to a range testcase with a specific transcriber name by getTranslatorInstance ( ) and interpret ( ) maps ;
To acquire a transcriber name with a specific trial tool by getToolTranslatorName ( ) map ;
To acquire a tool testcase from a range trial instance by the transcriber by getToolTranlsatorInstance ( ) and interpret ( ) maps.
B ) ActionWorker
This constituent creates a specific actionWorker and so does the specific actions.
The actionworker bed procedure flow like the followers:
1 ) To acquire a actionworker name by getActionWokerName ( ) map ;
2 ) To acquire a actionworker case by getActionWorkerInstance ( ) map ;
3 ) To make action by doAction ( ) map with the actionworker in the last measure.
C ) Comparator
This constituent can do certain whether the trial instance is successful or non. This constituent collects the trial consequence and collects expected consequence, and so make the comparing on the two sorts result.
The chief stairss are listed in the followers:
1 ) To acquire an case trial consequence aggregator to collectTestResult ( ) from the getTestResultCollectorInstance ( ) map with getTestResultCollectorName ( ) ;
2 ) To roll up the expected consequence of the running trial instance by collectExpectedResult ( ) ;
3 ) To acquire an case comparator from the getComparatorInstance ( ) map with the getComparatorName ( ) map ;
4 ) To compare the trial consequence with the expected consequence by comparison ( ) map, and so give the consequence of comparison.
V. Testing the Model
The web-based trial mechanization model, like any another being developed, needs proving. As a new trial mechanization model, there are no trials to execute and all trials need. We must measure its public presentation of reusability, extensibility, compatibility, and catholicity in peculiar.
In order to prove the public presentation of sharing trial procedures and trial informations between UI trial and public presentation trial. The trial procedures are designed as followers:
Step1. To fix all informations for IU system and informations for trial tools constellation point, that is, to fix the trial instances and trial type constellation file for both UI trial and burden trial.
Step2. To establish the trial mechanization model, get down UI trial for IU system, modify default browser category of constellation points in trial tools
Step3. To Change trial type into load trial foremost, and so to establish the trial mechanization model, concluding modify trial parametric quantities of load trial for illustrations, each petition spacing interval, How many petitions launch at same clip, How many togss need to implement these petitions?
The new proving mechanization model integrated by Selenium and Jmeter can portion the trial stairss and trial informations among different proving, such as UI proving, backend testing, lading trial and so on. It is convenient to exchanging in assorted types of proving for web applications. It supports multiple browsers and a assortment of operating system. It can be widely used in web application trial mechanization.