Você está na página 1de 33

What is Selenium ?

Selenium is a portable software testing framework for web applications. The tests can be written as HTML tables or coded in a number of popular programming languages and can be run directly in most modern web browsers. Selenium operations are highly flexible, allowing many options for locating U elements and comparing expected test results against actual application beha!ior. Selenium can be deployed on "indows, Linux, and Macintosh. Selenium is used for U#T $User #cceptance Test% &re'uent regression testing (epeated test case )xecution is re'uired User #cceptance Tests &aster &eedback to the de!elopers (educe the Human )ffort Test same application on multiple en!ironments

Why and When To Automate?

What are the Components of Selenium ?


1. Selenium *) 2. Selenium (emote +ontrol 3. Selenium ,rid

Explain about Selenium-IDE ?

tests. Selenium *) is an integrated de!elopment en!ironment for Selenium -perates as a &irefox add.on and pro!ides an interface for de!eloping and running indi!idual test cases or entire test suites. Selenium. *) has a recording feature, which will keep account of user actions as they are performed and store them as a reusable script to play back. t also has a context menu $right.click% integrated with the &irefox browser, which allows the user to pick from a list of assertions and !erifications for the selected location. -ffers full editing of test cases. #lthough it is a &irefox only add.on, tests created in it can also be run against other browsers by using Selenium.(+ / specifying the name of the test suite on the command line. (ecord and playback ntelligent field selection will use *s, names, or 01ath as needed #uto complete for all common Selenium commands "alk through test cases and test suites. *ebug and set breakpoints Sa!e tests as HTML, (uby scripts, or other formats Support for Selenium user.extensions.2s file

What are the Features of Selenium IDE ?


-ption to automatically assert the title of e!ery page (ollup common commands

What is Selenium-RC Remote Control! ?


Selenium.(+ pro!ides an #1 $#pplication 1rogramming nterface% and library for each of its supported languages3 HTML, 4a!a, +5, 1erl, 1H1, 1ython, and (uby. Selenium.(+ allows the test automation de!eloper to use a programming language for maximum flexibility and extensibility in de!eloping test logic. &or instance, if the application under test returns a result set, and if the automated test program needs to run tests on each element in the result set, the programming language6s iteration support can be used to iterate through the result set, calling Selenium commands to run tests on each item.

Explain about Selenium-"rid ?


Selenium.,rid allows the Selenium.(+ solution to scale for test suites or test suites to be run in multiple en!ironments. "ith Selenium.,rid multiple instances of Selenium.(+ are running on !arious operating system and browser configurations, each of these when launching register with a hub. "hen tests are sent to the hub they are then redirected to an a!ailable Selenium.(+, which will launch the browser and run the test. This allows for running tests in parallel, with the entire test suite theoretically taking only as long to run as the longest indi!idual test.

What are the Selenese Commands in Selenium ?



clicking a link . click or click#nd"ait commands entering !alues . type command selecting options from a drop.down listbox . select command clicking checkboxes or radio buttons . click command

What is Test Runner ?


Test (unner allows you to run the test case in a browser loaded with the Selenium.+ore Test(unner. Test runner is in!oked by clicking the below Shown button in the *)#

What are the Runnin$ %ptions in Selenium ? Run a Test Case: Click the Run button to run the currently displayed test case.

Run a Test Suite: Click the Run All button to run all the test cases in the
currently loaded test suite.

Stop and Start: The Pause button can be used to stop the test case while it is
running. The icon of this button then changes to indicate the Resume button. To continue click Resume.

Stop in the &iddle: Set a breakpoint in the test case to cause it to stop on a
particular command. This is useful for debugging your test case. To set a breakpoint, select a command, right click, and from the conte!t menu select Toggle "reakpoint.

Start from the &iddle: #e can set the $%& to begin running from a specific
command in the middle of the test case. This also is used for debugging. To set a start point, select a command, right click, and from the conte!t menu select Set'Clear Start Point.

Run Any Sin$le Command: %ouble click any single command to run it by
itself. This is useful when writing a single command. $t lets you immediately test a command you are constructing, when you are not sure if it is correct. (ou can double click it to see if it runs correctly. This is also a)ailable from the conte!t menu#

What are the Assertion Statements in Selenium ? assertText'resent : This will assert if the te!t is present in the page.

assertText: This will assert if a particular element is ha)ing the particular te!t. assertTitle: This will assert if the page is ha)ing a proper title. assert(alue: This will assert if a Te!t bo! or check bo! has a particular )alue assertElement'resent: This will assert if a particular *$ &lement is present in
the page.

Explain Selenium WaitFor Commands ? )aitFor'a$eTo*oad : This command will make the script to wait till the page
loads.Synta! is wait+orPageTo,oad-timeout./ Time out is the ma!imum time the script will wait for the page to load.


page

)aitForAlert : This command will wait for the alert message to appear )aitForTable: This command will wait for the #eb table to completely load in the )aitForTitle: This command will for the page Title to appear on the browser. %ther )aitFor +ommands : Selenium has se)eral other wait command like waitForText,waitForPopup and so on. These commands are generically called
Synchroni0ation commands

What are the Ad,anta$es and Disad,anta$es of Selenium ?

Ad,anta$es

Supports +5, 4a!a, 1H1, 1erl, 1hython Supported on "indows, Linux and Mac -S Highly acti!e de!eloper community . backed by ,oogle 1owerful methods to locate elements $0path, +SS, *-M% +hallenges running on browsers other than &irefox *ifficulty to automate #4#0

Disad,anta$es

Limitations to automate #pplets, MS and *esktop #pplications

-. What is WebDri,er?

A: #eb%ri)er is a tool for writing automated tests of websites. $t aims to mimic the beha)iour of a real user, and as such interacts with the 1T2, of the application.
-. So/ is it li0e Selenium? %r Sahi?

A: The aim is the same -to allow you to test your webapp., but the implementation is different. Rather than running as a 3a)ascript application within the browser -with the limitations this brings, such as the 4same origin4 problem., #eb%ri)er controls the browser itself. This means that it can take ad)antage of any facilities offered by the nati)e platform.
-. What is Selenium 1#2?

A: #eb%ri)er is part of Selenium. The main contribution that #eb%ri)er makes is its AP$ and the nati)e dri)ers.
-. 3o) do I mi$rate from usin$ the ori$inal Selenium A'Is to the ne) WebDri,er A'Is?

A: The process is described in the Selenium documentation at http:''seleniumh5.org'docs'appendi!6migrating6from6rc6to6webdri)er.html


-. Whi+h bro)sers does WebDri,er support?

A: The e!isting dri)ers are the Chrome%ri)er, $nternet&!plorer%ri)er, +irefo!%ri)er, 7pera%ri)er and 1tml*nit%ri)er. +or more information about each of these, including their relati)e strengths and weaknesses, please follow the links to the rele)ant pages. There is also support for mobile testing )ia the Android%ri)er, 7pera2obile%ri)er and $Phone%ri)er.
-. What does it mean to be 4de,eloper fo+used4?

A: #e belie)e that within a software application8s de)elopment team, the people who are best placed to build the tools that e)eryone else can use are the de)elopers. Although it should be easy to use #eb%ri)er directly, it should also be easy to use it as a building block for more sophisticated tools. "ecause of this, #eb%ri)er has a small AP$ that8s easy to e!plore by hitting the 4autocomplete4 button in your fa)ourite $%&, and aims to work consistently no matter which browser implementation you use.
-. 3o) do I exe+ute 5a,as+ript dire+tly?

A: #e belie)e that most of the time there is a re5uirement to e!ecute 3a)ascript there is a failing in the tool being used: it hasn8t emitted the correct e)ents, has not interacted with a page correctly, or has failed to react when an

9ml1ttpRe5uest returns. #e would rather fi! #eb%ri)er to work consistently and correctly than rely on testers working out which 3a)ascript method to call. #e also realise that there will be times when this is a limitation. As a result, for those browsers that support it, you can e!ecute 3a)ascript by casting the #eb%ri)er instance to a 3a)ascript&!ecutor. $n 3a)a, this looks like:
WebDriver driver; // Assigned elsewhere JavascriptExecutor js = (JavascriptExecutor) driver; js execute!cript("return docu#ent title");

7ther language bindings will follow a similar approach. Take a look at the *sing3a)ascript page for more information.
-. Why is my 5a,as+ript exe+ution al)ays returnin$ null?

A: (ou need to return from your :a)ascript snippet to return a )alue, so:
js execute!cript("docu#ent title");

will return null, but:


js execute!cript("return docu#ent title");

will return the title of the document.


-. &y 6'ath finds elements in one bro)ser/ but not in others# Why is this?

A: The short answer is that each supported browser handles 9Path slightly differently, and you8re probably running into one of these differences. The long answer is on the 9path$n#eb%ri)er page.
-. The InternetExplorerDri,er does not )or0 )ell on (ista# 3o) do I $et it to )or0 as expe+ted?

A: The $nternet&!plorer%ri)er re5uires that all security domains are set to the same )alue -either trusted or untrusted. $f you8re not in a position to modify the security domains, then you can o)erride the check like this:
Desired$apabilities capabilities = Desired$apabilities internetExplorer(); capabilities set$apabilit%(&nternetExplorerDriver &'()*D+$E,-. A/&'E!!,01,&2'*)&'2,!E$+)&(1,D*3A&'!4 true); WebDriver driver = new &nternetExplorerDriver(capabilities);

As can be told by the name of the constant, this may introduce flakiness in your tests. $f all sites are in the same protection domain, you shouldbe okay.
-. What about support for lan$ua$es other than 5a,a?

A: Python, Ruby, C; and 3a)a are all supported directly by the de)elopment team. There are also webdri)er implementations for P1P and Perl. Support for a pure 3S AP$ is also planned.
-. 3o) do I handle pop up )indo)s?

A: #eb%ri)er offers the ability to cope with multiple windows. This is done by using the 4#eb%ri)er.switchTo-..window-.4 method to switch to a window with a known name. $f the name is not known, you can use 4#eb%ri)er.get#indow1andles-.4 to obtain a list of known windows. (ou may pass the handle to 4switchTo-..window-.4.
-. Does WebDri,er support 5a,as+ript alerts and prompts?

A: (es, using the Alerts AP$:


// 2et a handle to the open alert4 pro#pt or con5ir#ation Alert alert = driver switch(o() alert(); // 2et the text o5 the alert or pro#pt alert get(ext(); // And ac6nowledge the alert (e7uivalent to clic6ing "*/") alert accept(); -. Does WebDri,er support file uploads?

A: (es. (ou can8t interact with the nati)e 7S file browser dialog directly, but we do some magic so that if you call #eb&lement;send<eys-4'path'to'file4. on a file upload element, it does the right thing. 2ake sure you don8t #eb&lement;click-. the file upload element, or the browser will probably hang. 1andy hint: (ou can8t interact with hidden elements without making them un hidden. $f your element is hidden, it can probably be un hidden with some code like:
((JavascriptExecutor)driver) execute!cript("argu#ents89: st%le visibilit% = ;visible;; argu#ents89: st%le height = ;<px;; argu#ents89: st%le width = ;<px;; argu#ents89: st%le opacit% = <"4 5ile+ploadEle#ent); -. The 4on+han$e4 e,ent doesn7t fire after a +all 4send8eys4

A: #eb%ri)er lea)es the focus in the element you called 4send<eys4 on. The 4onchange4 e)ent will only fire when focus lea)es that element. As such, you need to mo)e the focus, perhaps using a 4click4 on another element.
-. Can I run multiple instan+es of the WebDri,er sub-+lasses?

A: &ach instance of an 1tml*nit%ri)er, Chrome%ri)er and +irefo!%ri)er is completely independent of e)ery other instance -in the case of firefo! and chrome, each instance has its own anonymous profile it uses.. "ecause of the way that #indows works, there should only e)er be a single$nternet&!plorer%ri)er instance at one time. $f you need to run more than one instance of the $nternet&!plorer%ri)er at a time, consider using the Remote=#eb%ri)er and )irtual machines.
-. I need to use a proxy# 3o) do I +onfi$ure that?

A: Pro!y configuration is done )ia the org open7a seleniu# =rox% class like so:
=rox% prox% = new =rox%(); prox% set=rox%Autocon5ig+rl("http>//%oudo#ain/con5ig"); // We use 5ire5ox as an exa#ple here Desired$apabilities capabilities = Desired$apabilities 5ire5ox(); capabilities set$apabilit%($apabilit%(%pe =)*?14 prox%); // 1ou could use an% webdriver i#ple#entation here WebDriver driver = new -ire5oxDriver(capabilities); -. 3o) do I handle authenti+ation )ith the 3tml9nitDri,er?

A: #hen creating your instance of the 1tml*nit%ri)er, o)erride the 4modify#ebClient4 method, for e!ample:
WebDriver driver = new @t#l+nitDriver() A protected Web$lient #odi5%Web$lient(Web$lient client) A // (his class ships with @t#l+nit itsel5 De5ault$redentials=rovider creds = new De5ault$redentials=rovider(); // !et so#e exa#ple credentials creds add$redentials("userna#e"4 "password"); // And now add the provider to the web$lient instance client set$redentials=rovider(creds); return client; B B; -. Is WebDri,er thread-safe?

A: #eb%ri)er is not thread safe. 1a)ing said that, if you can serialise access to the underlying dri)er instance, you can share a reference in more than one thread. This is not ad)isable. (ou 'can' on the other hand instantiate one #eb%ri)er instance for each thread.
-. 3o) do I type into a +ontentEditable iframe?

A: Assuming that the iframe is named 4foo4:


driver switch(o() 5ra#e("5oo"); WebEle#ent editable = driver switch(o() activeEle#ent(); editable send/e%s("1our text here");

Sometimes this doesn8t work, and this is because the iframe doesn8t ha)e any content. 7n +irefo! you can e!ecute the following before 4send<eys4:
((JavascriptExecutor) driver) execute!cript("docu#ent bod% inner@(3. = ;CbrD;");

This is needed because the iframe has no content by default: there8s nothing to send keyboard input to. This method call inserts an empty tag, which sets e)erything up nicely. Remember to switch out of the frame once you8re done -as all further interactions will be with this specific frame.:
driver switch(o() de5ault$ontent(); -. WebDri,er fails to start Firefox on *inux due to :a,a#net#So+0etEx+eption

A: $f, when running #eb%ri)er on ,inu!, +irefo! fails to start and the error looks like:
$aused b%> java net !oc6etException> &nvalid argu#ent at java net =lain!oc6et&#pl soc6et0ind('ative 3ethod) at java net =lain!oc6et&#pl bind(=lain!oc6et&#pl java>EFG) at java net !oc6et bind(!oc6et java>GH<) at org open7a seleniu# 5ire5ox internal !oc6et.oc6 is.oc6-ree(!oc 6et.oc6 java>II) at org open7a seleniu# 5ire5ox internal !oc6et.oc6 loc6(!oc6et.oc 6 java>FE)

$t may be caused due to $P)> settings on the machine. &!ecute:


sudo s%sctl net ipvF bindvFonl%=9

To get the socket to bind both to $P)> and $P)? addresses of the host with the same calls. 2ore permanent solution is disabling this beha)iour by editing 'etc'sysctl.d'bind)>only.conf
-. WebDri,er fails to find elements ; Does not blo+0 on pa$e loads

A: This problem can manifest itself in )arious ways:


*sing #eb%ri)er.find&lement-.... throws &lement@ot+ound&!ception, but

the element is clearly there inspecting the %72 -using +irebug, etc. clearly shows it. Calling %ri)er.get returns once the 1T2, has been loaded but 3a)ascript code triggered by the onload e)ent was not done, so the page is incomplete and some elements cannot be found. Clicking on an element ' link triggers an operation that creates new element. 1owe)er, calling find&lement-s. after click returns does not find it. $sn8t click supposed to be blockingA 1ow do $ know when a page has finished loadingA

&!planation: #eb%ri)er has a blocking AP$, generally. 1owe)er, under some conditions it is possible for a get call to return before the page has finished

loading. The classic e!ample is 3a)ascript starting to run after the page has loaded -triggered by onload.. "rowsers -e.g. +irefo!. will notify #eb%ri)er when the basic 1T2, content has been loaded, which is when #eb%ri)er returns. $t8s difficult -if not impossible. to know when 3a)ascript has finished e!ecuting, since 3S code may schedule functions to be called in the future, depend on ser)er response, etc. This is also true for clicking when the platform supports nati)e e)ents -#indows, ,inu!. clicking is done by sending a mouse click e)ent with the element8s coordinates at the 7S le)el #eb%ri)er cannot track the e!act se5uence of operations this click creates. +or this reason, the blocking AP$ is imperfect #eb%ri)er cannot wait for all conditions to be met before the test proceeds because it does not know them. *sually, the important matter is whether the element in)ol)ed in the ne!t interaction is present and ready. Solution: *se the #ait class to wait for a specific element to appear. This class simply calls find&lement o)er and o)er, discarding the @oSuch&lement&!ception each time, until the element is found -or a timeout has e!pired.. Since this is the beha)iour desired by default for many users, a mechanism for implicitly waiting for elements to appear has been implemented. This is accessible through the#eb%ri)er.manage-..timeouts-. call. -This was pre)iously tracked on issue B>..
-. 3o) +an I tri$$er arbitrary e,ents on the pa$e?

A: #eb%ri)er aims to emulate user interaction so the AP$ reflects the ways a user can interact with )arious elements. Triggering a specific e)ent cannot be achie)ed directly using the AP$, but one can use the 3a)ascript e!ecution abilities to call methods on an element.
-. Why is it not possible to intera+t )ith hidden elements?

A: Since a user cannot read te!t in a hidden element, #eb%ri)er will not allow access to it as well. 1owe)er, it is possible to use 3a)ascript e!ecution abilities to call getTe!t directly from the element:
WebEle#ent ele#ent = ; ((JavascriptExecutor) driver) execute!cript("return argu#ents89: get(ext();"4 ele#ent); -. 3o) do I start Firefox )ith an extension installed?

A:
-ire5ox=ro5ile pro5ile = new -ire5ox=ro5ile() pro5ile addExtension( ); WebDriver driver = new -ire5oxDriver(pro5ile);

-. I7d li0e it if WebDri,er did####

A: $f there8s something that you8d like #eb%ri)er to do, or you8)e found a bug, then please add an add an issue to the #eb%ri)er pro:ect page.
-. Selenium ser,er sometimes ta0es a lon$ time to start a ne) session ?

A: $f you8re running on linu!, you will need to increase the amount of entropy a)ailable for secure random number generation. 2ost linu! distros can install a package called 4randomsound4 to do this. 7n #indows -9P., you may be running into http:''bugs.sun.com')iew6bug.doA bug6idC>DEFGDB, which usually means clearing out a lot of files from your temp directory. temp directory.
-. What7s the Selenium WebDri,er A'I e<ui,alent to Text'resent ?

A.
driver 5indEle#ent(0% tag'a#e("bod%")) get(ext()

will get you the te!t of the page. To )erifyTe!tPresent'assertTe!tPresent, from that you can use your fa)ourite test framework to assert on the te!t. To wait+orTe!tPresent, you may want to in)estigate the #eb%ri)er#ait class.
-. The so+0et lo+0 seems li0e a bad desi$n# I +an ma0e it better

A: the socket lock that guards the starting of firefo! is constructed with the following design constraints:
$t is shared among all the language bindings/ ruby, :a)a and any of the other

bindings can coe!ist at the same time on the same machine. Certain critical parts of starting firefo! must be e!clusi)e locked on the machine in 5uestion. The socket lock itself is not the primary bottleneck, starting firefo! is.

The Socket,ock is an implementation of the ,ock interface. This allows for a pluggable strategy for your own implementation of it. To switch to a different implementation, subclass the +irefo!%ri)er and o)erride the 4obtain,ock4 method.
-. Why do I $et a 9ni+odeEn+odeError )hen I send=0eys in python A: (ou likely don8t ha)e a ,ocale set on your system. Please set a locale

,A@HCen6*S.*T+ G and ,C6CT(P&C4en6*S.*T+ G4 for e!ample.


1. What do you know about Selenium?

Selenium is a suite of tools for web automation testing.

Selenium first came to life in 7889 when 4ason Huggins was testing an internalapplication at Thought"orks. Selenium was a tremendous tool, it wasn6t without it6s drawbacks. :ecause of its 4a!ascript based automation engine and the security limitations browsers apply to 4a!ascript, different things became impossible to do. Selenium Suite of pro2ects include3 Selenium *) Selenium +ore Selenium ; $known as. Selenium (+ or (emote +ontrol% Selenium 7 $known as. Selenium "ebdri!er% Selenium.,rid

2. What are the technical challenges with selenium?

#s you know Selenium is a free ware open source testing tool. There are many challenges with Selenium. ;. Selenium Supports only web based applications 7. t doesn6t support any non web based $Like "in <7, 4a!a #pplet, 4a!a Swing, .=et +lient Ser!er etc% applications <. "hen you compare selenium with >T1, Silk Test, Test 1artner and (&T, there are many challenges in terms of maintainability of the test cases 9. Since Selenium is a freeware tool, there is no direct support if one is in trouble with the support of applications ?. There is no ob2ect repository concept in Selenium, so maintainability of the ob2ects is !ery high @. There are many challenges if one ha!e to interact with "in <7 windows e!en when you are working with "eb based applications A. :itmap comparison is not supported by Selenium B. #ny reporting related capabilities, you need to depend on third party tools C. Dou need to learn any one of the nati!e language like $.=et, 4a!a, 1erl, 1ython, 1H1, (uby% to work efficiently with the scripting side of selenium

3. What are the test types supported by Selenium?

Selenium could be used for testing the web based applications. The test types can be supported

are3 ;. functional, 7. regression, <. load testing The automation tool could be implemented for post release !alidation withcontinuous integration tools like3 ;. 4enkins, 7. Hudson, <. >uick:uild, 9. +ruise+ont

4. What are the capabilities of Selenium I !?

Selenium *) $ ntegrated *e!elopment )n!ironment% works similar to commercialtools like >T1, Silk Test and Test 1artner etc. The below mentioned points describes well about Selenium *). ;. Selenium *) is a &irefox add.on. 7. Selenium *) can support recording the clicks, typing, and other actions to make a test cases. <. Using Selenium *) # Tester can play back the test cases in the &irefox browser 9. Selenium *) supports exporting the test cases and suites to Selenium (+. ?. *ebugging of the test cases with step.by.step can be done @. breakpoint insertion is possible A. 1age abstraction functionality is supported by Selenium *) B. Selenium *) can supports an extensibility capability allowing the use of add.ons or user extensions that expand the functionality of Selenium *)

". What are the challenges with Selenium I !?

Selenium. *) does not directly support3 ;. condition statements 7. iteration or looping <. logging and reporting of test results 9. error handling, particularly unexpected errors ?. database testing @. test case grouping A. re.execution of failed tests B. test case dependency C. capture screenshots on test failures ;8. (esults (eport generations

#. Which are the browsers supported by Selenium I !?

Selenium *) supports only one browser MoEilla &irefox. The !ersions supported as of now are3 MoEilla &irefox 7.x MoEilla &irefox <.x The !ersions not supported as of now are3earlier !ersions of MoEilla &irefox 7.x MoEilla &irefox 9.x

$. %ow to e&ecute a single line command from Selenium I !?

Single line command from Selenium *) can be executed in two ways

1. (ight click on the command in Selenium 2. 7. Select the command in Selenium

*) and select F)xecute This +ommandF

*) and press F0F key on the keyboard

'. %ow to insert a start point in Selenium I !?

Start point Selenium *) can be set in two ways ;. (ight click on the command in Selenium *) and select FSet G +lear Start 1ointF 7. Select the command in Selenium *) and press FSF key on the keyboard <. Dou can ha!e only one start point 9. f you ha!e already set one start point and you selected other command as start point. Then the first start point will be remo!ed and the new start point will be set

(. %ow to insert a comment in Selenium I !?

+omments in Selenium *) can be set in two ways ;. (ight click on the command in Selenium *) and select F nert =ew +ommentF 7. f you want to comment an existing line. Dou need to follow the below mentioned steps. a. Select the source tab in *) b. Select the line which you want to comment c. #ssume that if you want to comment a open command you need to write like below mentioned

code HtrI HJ.. HtdIopen/lGtdI HtdIGnodeG<89Gedit/lGtdI HtdIHGtdI ..I HGtrI

1). %ow to insert a break point in Selenium I !?

:reak point can be set in two ways in Selenium *) ;. (ight click on the command in Selenium *) and select FToggle :reak 1ointF 7. Select the command in Selenium *) and press F:F key on the keyboard <. f you want to clear the break point once again Spress F:F key on the keyboard 9. Dou can set multiple break points in Selenium *)

11.

%ow to debug the tests in Selenium I !?

To debug or execute the test cases line by line. &ollow the below mentioned steps ;. nsert a break point $see the 'uestion to know more How to insert a break point in Selenium *)K % from the locationwhere you want to execute step by step 7. (un the test case <. execution will be paused at the gi!en break point 9. +lick on the step $:lue% button to continue with the next statement ?. +lick on (un button, to continue executing all the commands at a time

12. %ow to e&port the tests from Selenium I ! to Selenium *+ in different languages? ,or13. %ow to e&port Selenium I ! .est Suite to Selenium *+ Suites?

&rom selenium *) the test cases can be exported into the languages as mentioned below ;. .=et, 7. 4a!a, <. 1erl, 9. 1ython, ?. 1H1, @. (uby The below mentioned steps can explain how to export the test cases ;. -pen the test case from Selenium *) 7. Select &ile .I )xport Test +ase #s

14. Which is the command used for displaying the /alues of a /ariable into the output console or log?

The command used for displaying the !alues of a !ariable into the output console or log . echo f you want to display a constant string. The below mentioned command can be used echo Hconstant stringI ex3 echo FThe sample messageF f you want to display the !alue of a !ariable it can be written like below echo LMH!ariable nameII ex3 echo LM!ar;N =ote3 Here !ar; is the !ariable

1". Which are the browsers supported by Selenium *+?

Supported browsers for Selenium (+ include3 $;%. Ofirefox $7%. Omock $<%. Ofirefoxproxy $9%. Opifirefox $$?%. Ochrome $@%. Oiexploreproxy $A%. Oiexplore $B%. Ofirefox< $C%. Osafariproxy $;8%. Ogooglechrome $;;%. Okon'ueror $;7%. Ofirefox7 $;<%. Osafari $;9%. Opiiexplore $;?%. Ofirefoxchrome $;@%. Oopera $;A%. Oiehta $;B%. Ocustom =ote3 #ny third party browser is supported with Ocustom followed by the complete path of the browser withexecutable

1#. Which are the 0perating Systems supported by Selenium?

Selenium *) "orks in &irefox 7P Start browser, run tests (un tests -perating Systems Supported3

;. "indows, 7. -S 0 <. Linux 9. Solaris ?. -thers whiche!er supports &irefox 7P Selenium (emote +ontrol Used for starting browser and run tests -perating Systems Supported3 ;. "indows, 7. -S 0 <. Linux 9. Solaris ?. -thers Selenium +ore Used for running tests -perating Systems Supported3 ;. "indows, 7. -S 0 <. Linux 9. Solaris ?. -thers

1$. What is Selenium *+?

Selenium.(+ is the solution for tests that need a little more than 2ust simple browser actions and a linear execution. Selenium.(+ le!erages the full power of programming languages, creating tests that can do things like read and write external files, make 'ueries to a database, send emails with test reports, and practicallyanything else a user can do with a normal application. Dou will want to use Selenium.(+ whene!er your test re'uires logic not supported by running a script from Selenium. *)

1'. Why Selenium *+ is used?

Selenium. *) does not directly support3 ;. condition statements 7. iteration <. logging and reporting of test results 9. error handling, particularly unexpected errors ?. database testing @. test case grouping A. re.execution of failed tests B. test case dependency C. capture screenshots on test failures The reason behind why Selenium. *) does not support the abo!e mentioned re'uirements is *) supports only HTML language. Using HTML language we cannot achie!e the abo!e mentioned

re'uirements. :ecause HTML does not support conditional, looping and external source connecti!es. To o!ercome the abo!e mentioned problems Selenium (+ is used. Since Selenium (+ supports the languages .=et, 4a!a, 1erl, 1ython, 1H1, and (uby. n these languages we can write the programme to achie!e the *) issues

1(. Which are the languages supported by Selenium *+?

The languages supported by Selenium (+ ;. .=et, 7. 4a!a $4unt <, 4unt 9, Test=,, ,roo!y% <. 1erl, 9. 1ython, ?. 1H1, @. (uby

2). What is Selenium 1rid?

Selenium ,rid is part of Selenium suite of pro2ects. Selenium ,rid transparently distribute your tests on multiple machines so that you can run your tests in parallel, cutting down the time re'uired for running in.browser test suites. This will dramaticallyspeeds up in.browser web testing, gi!ing you 'uick and accuratefeedback you can rely on to impro!e your web application.

21. What is Selenium Web ri/er or 1oogle Web ri/er or Selenium 2.)?

"eb*ri!er uses a different underlying framework from Selenium6s 2a!ascript Selenium.+ore. t also pro!ides an alternati!e #1 with functionality not supported in Selenium.(+. "eb*ri!er does not depend on a 2a!ascript core embedded within the browser, therefore it is able to a!oid some long.running Selenium limitations. "eb*ri!er6s goal is to pro!ide an #1 that establishes Q # well.designed standard programming interface for web.app testing. Q mpro!ed consistency between browsers. Q #dditional functionality addressing testing problems not well.supported in Selenium ;.8. The Selenium de!elopers stri!e to continuously impro!e Selenium. ntegrating "eb*ri!er is

another step in that process. The de!elopers of Selenium and of "eb*ri!er felt they could make significant gains for the -pen Source test automation community be combining forces and merging their ideas and technologies. ntegrating "eb*ri!er into Selenium is the current result of those efforts.

22. What are the capabilities of Selenium Web ri/er or 1oogle Web ri/er or Selenium 2.)?

-ne should use "eb*ri!er when re'uiring impro!ed support for

I Mult.browser testing including impro!ed functionality for browsers not well.supported by


Selenium.;.8. Q Handling multiple frames, multiple browser windows, popups, and alerts. Q 1age na!igation. Q *rag.and.drop. Q #4#0.based U elements.

23. What is the architecture of Selenium *+?

The Selenium Ser!er which launches and kills browsers, and acts as an HTT1 proxy for browser re'uests. +lient libraries for !arious programming languages, each of which instructs the Selenium Ser!er in how to test the #UT bypassing it your test script6s Selenium commands. The diagram shows the client libraries communicate with the Ser!er passing each Selenium command for execution. Then the ser!er passes the Selenium command to the browser using Selenium.+ore 4a!aScriptcommands. The browser, using its 4a!aScript interpreter, executes the Selenium command, which effecti!ely, runs the check you specified in your Selenese test script.

24. What is the architecture of Selenium 1rid?

Selenium ,rid builds on the traditional Selenium setup, taking ad!antage of the following properties3

O The Selenium test, the application under test, and the remote controlGbrowser pair do not ha!e to be co.located. They communicate through HTT1, so they can all li!e on different machines. O The Selenium tests and the web application under test are ob!iously specific to a particular pro2ect. =e!ertheless, neither the Selenium remote control nor the browser is tied to a specific application. #s a matter of fact, they pro!ide a capacity that can easily be shared by multiple applications and multiple pro2ects.

+onse'uently, if only we could build a distributed grid of Selenium (emote +ontrols, we could easily share it across builds, applications, pro2ects . e!en potentially across organiEations. -f course we would also need to address the scalability issues as described earlier when co!ering the traditional Selenium setup. This is why we need a component in charge of3

O #llocating a Selenium (emote +ontrol to a specific test $transparently% O Limiting the number of concurrent test runs on each (emote +ontrol O Shielding the tests from the actual grid infrastructure

Selenium ,rid calls this component the Selenium Hub.

O The Hub exposes an external interface that is exactly the same as the one of a traditional (emote +ontrol. This means that a test suite can transparently target a regular (emote +ontrol or a Selenium Hub with nocode change. t 2ust needs to target a different 1 address. This is important as it shields the tests from the grid infrastructure $which you can scale transparently%. This also makes the de!eloper6s life easier. The same test can be run locally on a de!eloper machine, or run on a hea!y duty distributed grid as part of a build R without e!er changing a line of code. O The Hub allocates Selenium (emote +ontrols to each test. The Hub is also in charge of routing the Selenese re'uestsfrom the tests to the appropriate (emote +ontrol as well as keeping track of

testing sessions. O "hen a new test starts, the Hub puts its first re'uest on hold if there is no a!ailable (emote +ontrol in the grid pro!iding the appropriate capabilities. #s soon as a suitable (emote +ontrol becomes a!ailable, the Hub will ser!e the re'uest. &or the whole time, the tests do not ha!e to be aware of what is happening within the gridS it is 2ust waiting for an HTT1 response to come back.

2".

oes Selenium support mobile internet testing?

Selenium supports -pera. #nd opera is used in most of the Smart phones. So whiche!er Smart phone supports opera, selenium can be used to test. So, one can use Selenium (+ to run the tests on mobiles.

2#.

oes Selenium support 1oogle 2ndroid 0perating System?

Des, Selenium "eb *ri!er or ,oogle "eb *ri!er or Selenium 7.8 supports #ndroid -perating System. There are se!eral libraries written to support #ndroid -perating System.

2$. What are the types of te&t patterns a/ailable in Selenium?

There are three types of patterns a!ailable in Selenium ;. globbing 7. regular expressions <. exact

2'. %ow to use regular e&pressions in Selenium?

(egular expressions in Selenium *) can be used with the keyword . regexp3 as a prefix to the !alue andpatterns needs to be included for the expected !alues. &or example if you want to use the regular expression for a command +ommand3 !erifyText Target3 GGfontGfontGbGfontT;U Value3 &light +onfirmation 5 78;;.8?.879?;

in the abo!e example &light +onfirmation is continuously changing each time you run the test case. So this can be writtenwith a regular expression as mentioned below +ommand3 !erifyText Target3 GGfontGfontGbGfontT;U Value3 regexp3&light +onfirmation 5 T8.CUM9N.T8.CUM7N.T8.CUM?,;8N

2(. What are the regular e&pression patterns a/ailable in Selenium?

Selenium regular expression patterns offer the same wide array of special characters that exist in 4a!aScript. :elow are a subset of those special characters 32..!*4 . TU 52.+% any single character character class3 any single character that appears inside the brackets 'uantifier3 8 or more of the preceding character $or group% 'uantifier3 ; or more of the preceding character $or group% 'uantifier3 8 or ; of the preceding character $or group% 'uantifier3 ; through ? of the preceding character $or group% alternation3 the characterGgroup on the left or the characterGgroup on the right grouping3 often used with alternation andGor 'uantifier

M;,?N

$%

3). What is Selenese?

Selenium set of commands which are used for running the test are called as Selenese. There are three types of Selenese, those are3 ;. #ctions . used for performing the operations and interactions with the target elements 7. #ssertions . used as check points <. #ccessors . used for storing the !alues in a !ariable

31. %ow do you add check points or /erification points in Selenium?

check points or !erification points are known as #ssertions in Selenium. The keywords with below mentionedprefix will be used for adding check points or !erification points. ;. !erify 7. assert <. wait&or

32. What is 2ssertion in Selenium?

#ssertion is nothing but a check or !erification point. #ssertion !erifies the state of the application conforms to what is expected. )xamples include Xmake sure the page title is 0Y and X!erify that this checkbox is checked.

33. What are the types of 2ssertions there in Selenium?

Selenium #ssertions can be used in < modes3 ;% assert . "hen an XassertY fails, the test will be aborted. f you are executing test suite, the next state case will start 7% !erify . "hen a X!erifyY fails, the test will continue execution, logging the failure. <% wait&or . Xwait&orY commands wait for some condition to become true $which can be useful for testing #2ax applications%. They will succeed immediately if the condition is already true. Howe!er, they will fail and halt the test if the condition does not become true within the current timeout setting.

34. When to use 2ssert6 7erify and Wait8or in Selenium?

;% assert . f the expected !alue is mandatory to continue with the next set of steps we will use

#ssert. #s #ssert aborts the test, if the expected !alue doesnZt match. t is good to use for any mandatory checks. 7% !erify . f the expected !alue is optional to continue with the next set of steps we will use Verify. #s Verify continues executing with the next set of steps, if the expected !alue doesnZt match. t is good to use for any optional checks. <% wait&or . f your test needs to wait, if the expected !alue is not matching we use wait&or. "e normally use wait&or for #4#0 kind of controls loading within a page.

3". What is an 2ccessor in Selenium?

#ccessor is one of the type of Selenese. . #ccessors are used for storing the !alue of a target in a !ariable. )x3 ;% storeTitle . Stores the title of a window in a !ariable 7% storeText . Stores the target element text in a !ariable . #ccessors are also used for e!aluating the result and storing the result in a !ariable )x3 storeText1resent . )!aluates whether the text is 1resent in the current window. f the text is presentstorestrue in the !ariable else stores false )x3 store)ement1resent . )!aluates whether the element is present in the current window. f the element is present stores true in the !ariable else stores false

3#. When to use 2ccessors in Selenium?

#ccessors are mostly used for storing the !alue in a !ariable. The !ariable can be used for following reasons3 ;% To get the !alue from an element and comparing with some dynamic !alue 7% To take a logical decision to execute the test steps ex3 if the !alue of the !ariable true execute step; and step7 else step< and step9 <% To execute some statements in a loop based on the !alue returned by the element

3$. %ow to capture bitmaps in Selenium?

:itmaps are captured using the Selenium set of commands. There are two modes of capturing the

bitmaps ;% +apture the bitmap for the entire page . it captures the browser main page area of #UT 7% +apture the bitmap for the screen shots . it captures the entire screen shot like the print scree that you gi!e from your keyboard Selenium doesnZt support bitmap capturing for an element on #UT.

3'. Which are the commands used for capturing the bitmaps?

capture!ntire3ageScreenshot Sa!es the entire contents of the current window can!as to a 1=, file. +ontrast this with the captureScreenshot command, which captureS the contents of the -S !iewport $i.e. whate!er is currently being displayed on the monitor%, and isimplemented in the (+ only. +urrently this only works in &irefox when running in chrome mode, and in ) non.HT# using the )01)( M)=T#L FSnapsieF utility. The &irefox implementation is mostly borrowed from the ScreengrabJ &irefox extension. 1lease seecapture)ntire1ageScreenshot for more details capture!ntire3ageScreenshot2ndWait Sa!es the entire contents of the current window can!as to a 1=, file. +ontrast this with the captureScreenshot command, which captures the contents of the -S !iewport $i.e. whate!er is currently being displayed on the monitor%, and is implemented in the (+ only. +urrently this only works in &irefox when running in chrome mode, and in ) non.HT# using the )01)( M)=T#L FSnapsieF utility. The &irefox implementation is mostly borrowed from the ScreengrabJ &irefox extension. 1lease see capture)ntire1ageScreenshot#nd"ait for details. 4ote9 This command runs with only moEilla firefox when you run the tests from (+. -ther browsers it will not support

3(. What is the difference between capture!ntire3ageScreenshot and +aptureScreenShot?

capture)ntire1ageScreenshot ;. This captures the #UT web page only 7. This supports only moEilla firefox <. #ccepts two arguments. one is the file name to be sa!ed and other argument is back ground color

+aptureScreenShot ;. This captures the System screen shot 7. This supports all the browsers when you run from Selenium (+ <. #ccepts one argument. That is the file name to be sa!ed.

4). %ow do you set user e&tensions in Selenium I !?

;. -pen user.extensions.2s with an editor $=otepad, etc.%S itZs found in the selenium[core[scripts folder. f it doesnZt exist, 2ust create it. 7. f you need to, commit the user.extensions.2s file $like if you use sub!ersion%. <. -pen Selenium *) and choose the -ptions menu and then -ptions... from that menu. 9. Make sure the path to your user.extensions.2s file is entered in the Selenium +ore extensions field $like [selenium[core[scripts[user.extensions.2s% ?. 1ress -\ button on options @. (estart the *) to reflect your extensions. 4ote9 #fter reopen, Selenium *) may show compilations errors if the user.extensions.2s file has any syntax errors.

41. What are the limitations of Selenium I !

The limitations of Selenium *) are3 ;% Selenium *) uses only HTML language 7% +onditional or branching statements execution like using of if, select statements is not possible <% Looping statements using is not possible directly in Selenium HTML language in ide 9% (eading from external files like .txt, .xls is not possible ?% (eading from the external databases is not possible with ide @% )xceptional handling is not there A% # neat formatted (eporting is not possible with ide To eliminate the abo!e issues we use Selenium (+

Selenium *+ 82:;s

1. What are the pre<re=uisites to run Selenium *+ tests with >unit?

The pre.re'uisites to run Selenium (+ tests with 4unit3 ;% 4re ;.? or better !ersion needs to be installed 7% G2reGbin folder must be added in en!ironment !ariable FpathF <% 4unit folder path must be added to path or build path in eclipse 9% Selenium 4a!a +lient dri!ers needs to be added to the path for execution

2. %ow to configure Selenium *+ with eclipse to run >unit .ests?

;% *ownload eclipse. click here to download the software 7% -pen eclipse .I "orkspace Launcher window will open <% +reate a workspace by gi!ing meaningful name <% +lick on "orkbench 9% +reate a pro2ect of type 2a!a ?% +reate a package under src folder of the package @% #dd 4unit to the build path A% #dd selenium rc 2a!a client dri!er to the build path B% =ow drag and drop your test script $.which is exported from Selenium *)% to the package created

3. Which is the command used for running the Selenium *+ Ser/er?

The procedure followed to run the Selenium (+ Ser!er is3 ;. -pen the command prompt. 7. +hange the folder path to Selenium (+ Ser!er <. ssue the command F2a!a .2ar selenium.ser!er.2arF

4. %ow do you run selenium commands in slow motion in Selenium *+?

Dou can run the selenium commands in (+ slow motion by two ways3 selenium.setSpeed thread.sleep

". What is the difference between .hread.Sleep,- and Selenium.setSpeed,-?

selenium.setSpeed ;. takes a single argument in string format ex3 selenium.setSpeed$F7888F% . will wait for 7 seconds 7. (uns each command in after setSpeed delay by the number of milliseconds mentioned in setSpeed. thread.sleep ;. takes a single argument in integer format ex3 thread.sleep$7888% . will wait for 7 seconds 7. "aits for only once at the command gi!en at sleep.

#. Why do you use assert and /erify statements in Selenium *+ without referring to selenium?

SeleneseTest+ase is the class which is ha!ing ;. assertTrue 7. !erifyTrue <. assert)'uals 9. !erify)'uals "e use SeleneseTest+ase class to extend the selenium test class file. &or )x3 the test class is declared as follows public class :ook&lightSel; extends SeleneseTest+ase n the abo!e example SeleneseTest+ase is the base class and :ook&lightSel; is the deri!ed class. So, we can directly call and use the parent class methods !erify and assert without instantiating the class in :ook&lightSel; class.

$. Which are the annotations generated with >?nit 4 tests in Selenium I !?

The annotations generated with 4Unit 9 tests in Selenium are3

;. ]:efore public !oid method$% . "ill perform the method$% before each test. This method can prepare the test 7. ]Test public !oid method$% . #nnotation ]Test identifies that this method is a test method.en!ironment, e.g. read input data, initialiEe the class% <. ]#fter public !oid method$% . Test method must start with test]:efore . this annotation is used for executing a method before.

'. What are the challenges with Selenium *+ test suites when running in >?nit?

The challenges with Selenium (+ test suites when running in 4Unit ;. )ach test case of Selenium (+ test will in!oke the browser and closes after playing back 7. #ll the Test cases cannot run on a single browser session <. f there is any dependency between the test cases, it is !ery difficult to execute 9. (unning the test suites in 2unit will be helpful for only independent test cases. =ote3 The dependent test case related issues can be addressed by using Test=, with 2unit

(. What are the basic annotations used to run .est41 tests in Selenium?

The basic annotations used to run Test=, tests in Selenium (+3 ;. ]:efore+lass3 The annotated method with ]:efore+lass will be run before the first test method in thecurrent class is in!oked. 7. ]#fter+lass3 The annotated method with ]#fter+lass will be run after all the test methods in the current class ha!e been run. <. ]:eforeMethod3 The annotated method with ]:eforeMethod will be run before each test method. 9. ]#fterMethod3 The annotated method with ]#fterMethod will be run after each test method. ?. ]Test3 Marks a class or a method ]Test with as part of the test.

1). %ow to run test cases with dependent in Selenium using .est41?

The ]Test should be followed by $depends-nMethods ^ FtestLoginF% =ote3. The test case will be executed after the testLogin case )x3 ]Test$depends-nMethods ^ FtestLoginF%

11. %ow to run the test cases in group in Selenium using .est41?

Test cases in group in Selenium using Test=, will be executed with the below options. f you want to execute the test cases based on one of the group like regressiontest or smoketest ]Test$groups ^ MFregressiontestF, FsmoketestFN%

12. %ow to e&ecute the test cases in an @5A format using .est41 in Selenium?

f you want to execute a 2a!a file MercTest=gSuite.2a!a which is there in the package com.src.testng. Dou can use the belowmentioned code in a xml file. #nd the test can be run by right clicking the 0ML and runningas Test=, Suite HJ*-+TD1) suite SDST)M Fhttp3GGtestng.orgGtestng.;.8.dtdFI Hsuite thread.count^F?F skipfailedin!ocation+ounts^FfalseF !erbose^F;F name^FMerc1r2F 2unit^FfalseF parallel^FfalseF annotations^F4*\FI Htest !erbose^F7F name^Fcom.src.testng.MercTest=gSuiteF 2unit^FfalseF annotations^F4*\FI HclassesI Hclass name^Fcom.src.testng.MercTest=gSuiteFGI HGclassesI HGtestI HGsuiteI KK

13. %ow to incude or e&clude the selenium rc test cases using &ml in .est41? ncluding or excluding of selenium rc test cases using xml in Test=, can be done using the keywords include or exlude &or including a test case we need to use Hinclude name^Fmethod nameFGI under the class whiche!er the method you want to include &or excluding a test case we need to use Hexclude name^Fmethod nameFGI under the class whiche!er the method you want to include &or example if you ha!e a class MercTest=gSuite in package com.src.testng want to include the methodslike3 ;. testLogin; 7. test&ind&lights <. testSelect&lights

9. test&illUser*etails ?. testVerify&light+onf and exclude @. testLogout the xml can be written as mentioned below. HJ*-+TD1) suite SDST)M Fhttp3GGtestng.orgGtestng.;.8.dtdFI Hsuite thread.count^F?F skipfailedin!ocation+ounts^FfalseF !erbose^F;F name^FMerc1r2F 2unit^FfalseF parallel^FfalseF annotations^F4*\FI Htest !erbose^F7F name^Fcom.src.testng.MercTest=gSuiteF 2unit^FfalseF annotations^F4*\FI HclassesI Hclass name^Fcom.src.testng.MercTest=gSuiteFGI HmethodsI Hinclude name^FtestLogin;FGI Hinclude name^Ftest&ind&lightsFGI Hinclude name^FtestSelect&lightsFGI Hinclude name^Ftest&illUser*etailsFGI Hinclude name^FtestVerify&light+onfFGI Hexclude name^FtestLogoutFGI HGmethodsI HGclassesI HGtestI

14. %ow to e&ecute the selenium test suite with test41 in @5A?

#ssume that you ha!e two classes which are ha!ing suite of test cases with the below mentioned methods. class1 or suite 19 the class by name MercTest=gSuite in the package com.src.testng with the methods ;. testLogin; 7. test&ind&lights <. testSelect&lights 9. test&illUser*etails class1 or suite 29the class by name MercTest=gSuite7 in the package com.src.testng with the methods

;. testLogin; 7. test&ind&lights <. testSelect&lights 9. test&illUser*etails ?. testVerify&light+onf @. testLogout The two class suites can be executed as mentioned HJ*-+TD1) suite SDST)M Fhttp3GGtestng.orgGtestng.;.8.dtdFI Hsuite thread.count^F?F skipfailedin!ocation+ounts^FfalseF !erbose^F;F name^FMerc1r2F 2unit^FfalseF parallel^FfalseF annotations^F4*\FI Htest !erbose^F7F name^Fcom.src.testng.OF 2unit^FfalseF annotations^F4*\FI HclassesI Hclass name^Fcom.src.testng.MercTest=gSuiteFGI HmethodsI Hinclude name^FtestLogin;FGI Hinclude name^Ftest&ind&lightsFGI Hinclude name^FtestSelect&lightsFGI Hinclude name^Ftest&illUser*etailsFGI HGmethodsI Hclass name^Fcom.src.testng.MercTest=gSuite7FGI HmethodsI Hinclude name^FtestLogin;FGI Hinclude name^Ftest&ind&lightsFGI Hinclude name^FtestSelect&lightsFGI Hinclude name^Ftest&illUser*etailsFGI Hinclude name^FtestVerify&light+onfFGI Hinclude name^FtestLogoutFGI HGmethodsI HGclassesI HGtestI HGsuiteI

1". %ow to run Selenium I ! test suite with user e&tensions using Selenium *emote +ontrol?

to run Selenium *) test suite with user extensions using Selenium (emote +ontrol we need to use the below command. 2a!a .2ar selenium.ser!er.2ar .user)xtensions user.extensions.2s .htmlSuite FOHbrowserIF FHbase U(LIF FHSelenium test suite fileIF FHresults log fileIF .timeout HmilliseI

1#. %ow to start selenium rc ser/er with user e&tensions?

The command used is 2a!a .2ar selenium.ser!er.2ar .user)xtensions user.extensions.2s =ote3 n this case, the 2a!a script file user.extensions.2s file name should always fixed. f the name or extension is changed the selenium rc ser!er will not start.

1$. What are the limitations of selenium *+?

The limitations of selenium (+ are3 ;% Switching between the multiple instances of the same browser is not possible 7% Switching between the multiple instances of the different browsers is not possible <% :rowser na!igation, like back and forward button emulations is not possible 9% Limited features in terms of drag and drop of ob2ects ?% To work with #2ax based U elements there are !ery limited features are there with Selenium (+ To o!ercome the abo!e limitations we use selenium web dri!er or google web dri!er

+AJs

https:''code.google.com'p'selenium'wiki'+re5uentlyAskedJuestions http:''www.gcreddy.com'BEKB'KB'selenium fa5.html;.*bAfKf(pbd$ http:''www.click?inter)iews.com'BEKL'EB'selenium inter)iew 5uestions and answers.html http:''www.:roller.comhttp:''phanitesting.blogspot.in'BEKK'EM'selenium fa5s.html'selenium'

http:''selenium suresh.blogspot.in' http:''www.gcreddy.com'BEKB'KB'selenium fa5.html

Você também pode gostar