Selenium Questions
Selenium Questions
WebDriver and RC: It provide the APIs for a variety of languages like Java, .NET, PHP, etc. Wit
browsers Webdriver and RC works.
Grid: With the help of Grid you can distribute tests on multiple machines so that test can be r
which helps in cutting down the time required for running in browser test suites
Web testing tools Selenium RC and WebDriver are consolidated in single tool in Selenium 2.0
Selenium 3.0 is the latest version of Selenium. It has released 2 beta versions of selenium 3.0 wi
below changes:
It will support for Firefox Grid fixes NPE’s on registration when -browser not specified
Via Mozilla’s geckodriver
In Selenium every object or control in a web page is referred as an elements, there are different
an element in a web page they are
ID
Name
Tag
Attribute
CSS
Linktext
PartialLink Text
Xpath etc
a) Functional
b) Regression
For post release validation with continuous integration automation tool could be used
a) Jenkins
b) Hudson
c) Quick Build
d) CruiseCont
6) Explain what is assertion in Selenium and what are the types of assertion?
Assertion is used as a verification point. It verifies that the state of the application conforms to w
expected. The types of assertion are “assert” , “verify” and “waifFor”.
X-Path is used to find the WebElement in web pages. It is also useful in identifying the dynamic e
8) Explain the difference between single and double slash in X-path? Single slash ‘/ ’
9) List out the technical challenges with Selenium? Technical challenges with Selenium are
TypeKeys() will trigger JavaScript event in most of the cases whereas .type() won’t. Type key popu
attribute using JavaScript whereas .typekeys() emulates like actual user typing
Assert: Assert allows to check whether an element is on the page or not. The test will stop on th
the asserted element is not available. In other words, the test will terminated at the point where
Verify: Verify command will check whether the element is on the page, if it is not then the test w
executing. In verification, all the commands are going to run guaranteed even if any of test fails
12) What is JUnit Annotations and what are different types of annotations which are usefu
In JAVA a special form of syntactic meta-data can be added to Java source code, this is know as A
Variables, parameters, packages, methods and classes are annotated some of the JUnit annotatio
be useful are
Test
Before
After
Ignore
BeforeClass
AfterClass
RunWith
To click on specific part of element, you would need to use clickAT command. ClickAt command
element locator and x, y co-ordinates as arguments- clickAt (locator, cordString)
15) Why testers should opt for Selenium and not QTP? Selenium is more popular than QTP as
16) What are the four parameter you have to pass in Selenium? Four parameters that you ha
Selenium are
Host
Port Number
Browser
URL
Thread.sleep () : It will stop the current (java) thread for the specified period of time. Its done o
SetSpeed () : For specific amount of time it will stop the execution for every selenium command
It takes a single argument in integer format
This command is useful for demonstration purpose or if you are using a slow web application
18) What is same origin policy? How you can avoid same origin policy?
The “Same Origin Policy” is introduced for security reason, and it ensures that content of your s
be accessible by a script from another site. As per the policy, any code loaded within the browse
operate within that website’s domain.
To avoid “Same Origin Policy” proxy injection method is used, in proxy injection mode the Seleni
as a client configured HTTP proxy , which sits between the browser and application under test a
the AUT under a fictional URL
The purpose of heightened privileges is similar to Proxy Injection, allows websites to do somethi
commonly permitted. The key difference is that the browsers are launced in a special mode call
privileges. By using these browser mode, Selenium core can open the AUT directly and also read
content without passing the whole AUT through the Selenium RC server.
element.submit () ;
Alternatively you can use click method on the element which does form submission
21) What are the features of TestNG and list some of the functionality in TestNG which ma
effective?
TestNG is a testing framework based on JUnit and NUnit to simplify a broad range of testing nee
testing to integration testing. And the functionality which makes it efficient testing framework ar
22) Mention what is the difference between Implicit wait and Explicit wait?
Implicit Wait: Sets a timeout for all successive Web Element searches. For the specified amount o
try looking for element again and again before throwing a NoSuchElementException. It waits for
show up.
You will ned to switch to each and every frame and search for locator which we want.
24) Explain what is the difference between find elements () and find element () ?
It finds the first element within the current page using the given “locating mechanism”. It return
WebElement
findElements () : Using the given “locating mechanism” find all the elements within the current p
a list of web elements.
@Before public void method() – It will perform the method () before each test, this method ca
test
@Test public void method() – Annotations @Test identifies that this method is a test method e
@After public void method()- To execute a method before this annotation is used, test method
with test@Before
Datadriven framework: In this framework, the test data is separated and kept outside the Test
test case logic resides in Test Scripts. Test data is read from the external files ( Excel Files) and a
the variables inside the Test Script. Variables are used for both for input values and for verificati
Keyworddriven framework: The keyword driven frameworks requires the development of data
keywords, independent of the test automation. In a keyword driven test, the functionality of the
under test is documented in a table as well as step by step instructions for each test.
27) Explain how you can login into any site if it’s showing any authentication popup for pa
username?
Syntax-http://username:password@url
ex- http://creyate:[email protected]
Borland Silk test is not a free testing Selenium is completely free test automation tool
tool
Silk test supports only Internet Selenium supports many browsers like Internet Exp
Explorer and Firefox Firefox, Safari, Opera and so on
Silk test uses test scripting language Selenium suite has the flexibility to use many langu
Java, Ruby,Perl and so on
Silk test can be used for client server Selenium can be used for only web application
applications
An object repository is an essential entity in any UI automations which allows a tester to store al
will be used in the scripts in one or more centralized locations rather than scattered all over the
Selenium Grid sent the tests to the hub. These tests are redirected to Selenium Webdriver, which
browser and run the test. With entire test suite, it allows for running tests in parallel.
Yes. But not as effectively as a dedicated performance testing tool like Loadrunner.
If you are using Selenium-WebDriver, you don’t need the Selenium Server as it is using totally
technology
Selenium Server provides Selenium RC functionality which is used for Selenium 1.0 backwards
Selenium Web driver makes direct calls to browser using each browsers native support for au
while Selenium RC requires selenium server to inject Javascript into the browser
Handling multiple frames, pop ups , multiple browser windows and alerts
Page navigation and drag & drop
Ajax based UI elements
Multi browser testing including improved functionality for browser not well supported by Sele
Major limitation of injecting capabilities is that “findElement” command may not work as expecte
36) Explain how you can find broken images in a page using Selenium Web driver ?
Get Xpath and get all the links in the page using tag name
In the page click on each and every link
Look for 404/500 in the target page title
Use getCssValue(arg0) function to get the colors by sending ‘color’ string as an argument
38) Using web driver how you can store a value which is text box?
You can use following command to store a value which is text box using web driver
To switch between frames webdrivers [ driver.switchTo().frame() ] method takes one of the thr
arguments
WebDriverException
NoAlertPresentException
NoSuchWindowException
NoSuchElementException
TimeoutException
You can use “type”command to type in a file input box of upload file. Then, you have to use “Rob
JAVA to make file upload work.
HTMLUnit Driver implementation is fastest, HTMLUnitDriver does not execute tests on browser b
request, which is far quick than launching a browser and executing tests
To bring control on HTML frame you can use “SwitchTo” frame method-
driver.switchTo().frame(“frameName”);
driver.switchTo().frame(“parentFrame.4.frameName”);
This would bring control on frame named- “frameName” of the 4th sub frame names “parentFram
getwindowhandles(): It is used to get the address of all the open browser and its return type is it
getwindowhandle(): It is used to get the address of the current browser where the control is and
string
Syntax-driver.switchTo().defaultContent();
By.id()
By.name()
By.tagName()
By.className()
By.linkText()
By.partialLinkText()
By.xpath
By.cssSelector()
48) What is the command that is used in order to display the values of a variable into the
console or log?
In order to display a constant string, command can be used is echo <constant string>
If order to display the value of a variable you can use command like echo ${variable name>>
Above is using PHP. If you are using Java, replace echo with System.out.println
Recovery scenarios depends upon the programming language you use. If you are using Java the
exception handling to overcome same. By using “Try Catch Block” within your Selenium WebDriv
To iterate through options in test script you can loop features of the programming language, for
type different test data in a text box you can use “for” loop in Java
51) How can you prepare customized html report using TestNG in hybrid framework ?
There are three ways
52) From your test script how you can create html test report?
TestNG: Using inbuilt default.html to get the HTML report. Also XLST reports from ANT, Seleni
combination
JUnit: With the help of ANT
Using our own customized reports using XSL jar for converting XML content to HTML
Select “Toggle break point” by right click on the command in Selenium IDE
Press “B” on the keyboard and select the command in Selenium IDE
Multiple break points can be set in Selenium IDE
Insert a break point from the location from where you want to execute test step by step
Run the test case
At the given break point execution will be paused
To continue with the next statement click on the blue button
Click on the “Run” button to continue executing all the commands at a time
Selenese is a selenium set of command which are used for running the test
Actions: It is used for performing the operations and interactions with the target elements
Assertions: It is used as a check points
Accessors: It is used for storing the values in a variable
58) In selenium IDE what are the element locators that can be used to locate elements on
X-path locators
Css locators
Html id
Html name
59) In Selenium IDE how you can generate random numbers and dates for test data ?
In Selenium IDE you can generate random numbers by using Java Script
type
css=input#s
javascript{Math.random()}
And for
type
css=input#s
javascript{new Date()}
60) How you can convert any Selenium IDE tests from Selenese to another language?
You can use the format option of Selenium IDE to convert tests into another programming langu
61) Using Selenium IDE is it possible to get data from a particular html table cell ?
storeTable
Css=#table 0.2
textFromCell
Insert a break point from the location where you want to execute step by step
Run the test case
At the given break point execution will be paused
To continues with the next step click on the Blue button
To run commands at a time click on run button
From Selenium IDE single line command can be executed in two ways
Select “Execute this command” by right clicking on the command in Selenium IDE
Press “X” key on the keyboard after selecting the command in Selenium IDE
65) In which format does source view shows your script in Selenium IDE ?
Press “S” key on the keyboard and select the command in Selenium IDE
In Seleniun IDE right click on the command and the select “Set / Clear Start Point”
67) What if you have written your own element locator and how would you test it?
To test the locator one can use “Find Button” of Selenium IDE, as you click on it, you would see o
element being highlighted provided your element locator is right or or else an error message wil
68) What is regular expressions? How you can use regular expressions in Selenium ?
A regular expression is a special text string used for describing a search pattern. In Selenium IDE
expression can be used with the keyword- regexp: as a prefix to the value and patterns needs to
for the expected values.
If you want to “extend” the defualt functionality provided by Selenium Function Library , you can
Extension. They are also called “User Extension”. You can even download ready-made Core Exten
by other Selenium enthusiats.
You can use the storeAlert command which will fetch the message of the alert pop up and store
Selenium IDE have limitations in terms of browser support and language support. By using Selen
limitation can be diminished.
On different platforms and different web browser for automating web application selenium
languages like Java, C#, Perl, Python
Selenium RC is a java based and using any language it can interact with the web application
Using server you can bypass the restriction and run your automation script running against an
application
Selenium IDE does not directly support many functions like condition statements, Iteration, logg
reporting of test results, unexpected error handling and so on as IDE supports only HTML langua
such issues Selenium RC is used it supports the language like Perl, Ruby, Python, PHP using thes
we can write the program to achieve the IDE issues.
The main difference between Selenium RC and Webdriver is that, selenium RC injects javascript f
browsers when the page is loaded. On the other hand, Selenium Webdriver drives the browser u
built in support
Advantages of RC are
77) Explain what is framework and what are the frameworks available in RC?
A collection of libraries and classes is known as Framework and they are helpful when testers ha
test cases. NUnit, JUnit, TestNG, Bromine, RSpec, unittest are some of the frameworks available i
To handle pop-ups in RC , using selectWindow method, pop-up window will be selected and wind
method will let the control from current window to pop-up windows and perform actions accord
Apart from “same origin policy” restriction from js, Selenium is also restricted from exercising an
outside browser.
80) Can we use Selenium RC to drive tests on two different browsers on one operating sys
Selenium Grid?
Yes, it is possible when you are not using JAVA testing framework. Instead of using Java testing f
you are using java client driver of selenium then TestNG allows you to do this. By using “parallel
you can set tests to be executed in parallel and can define two different tests, each using differen
If you want full automation against different server and client platforms, You need a way to invo
from a command line process, reports that tells you what happened and flexibility in how you cr
suites. TestNG gives that flexibility.
82) Explain how you can capture server side log Selenium Server?
To capture server side log in Selenium Server, you can use command
83) Other than the default port 4444 how you can run Selenium Server?
You can run Selenium server on java-jar selenium-server.jar-port other than its default port
At predefined time selenium grid hub keeps polling all RC slaves to make sure it is available for t
deciding parameter is called “remoteControlPollingIntervalSeconds” and is defined in
“grid_configuration.yml”file
To handle network latency you can use driver.manage.pageloadingtime for network latency
86) To enter values onto text boxes what is the command that can be used?
isElementPresent(String locator)
Breakpoints: When you implement a breakpoint in your code, the execution will stop right th
you to verify that your code is working as expected.
StartpointsStartpoint indicates the point from where the execution should begin. Startpoint c
when you want to run the testscript from the middle of the code or a breakpoint.
Few points that favor Python over Java to use with Selenium is,
90) Mention what are the challenges in Handling Ajax Call in Selenium Webdriver?
Using "pause" command for handling Ajax call is not completely reliable. Long pause time ma
unacceptably slow and increases the testing time. Instead, "waitforcondition" will be more he
Ajax applications.
It is difficult to assess the risk associated with particular Ajax applications
Given full freedom to developers to modify Ajax application makes the testing process challen
Creating automated test request may be difficult for testing tools as such AJAX application ofte
different encoding or serialization technique to submit POST data.
Intellij is an IDE that helps you to write better and faster code for Selenium. Intellij can be used i
Java bean and Eclipse.
In Selenium WebDriver, Listeners "listen" to the event defined in the selenium script and behave
allows customizing TestNG reports or logs. There are two main listeners i.e. WebDriver Listeners
Listeners.
IAnnotationTransformer
IAnnotationTransformer2
IConfigurable
IConfigurationListener
IExecutionListener
IHookable
IInvokedMethodListener
IInvokedMethodListener2
IMethodInterceptor
IReporter
ISuiteListener
ITestListener
The desired capability is a series of key/value pairs that stores the browser properties like brows
browser version, the path of the browser driver in the system, etc. to determine the behavior of
run time.
For Selenium,
For Database Testing in Selenium Webdriver, you need JDBC (Java Database Connectivity) API. It
execute SQL statements.
99) Mention why do you need Session Handling while working with Selenium?
While working with Selenium, you need Session Handling. This is because, during test execution,
WebDriver has to interact with the browser all the time to execute given commands. At the time
is also possible that, before current execution completes, someone else starts execution of anoth
the same machine and in the same type of browser. So to avoid such situation you need Session
100) Mention what are the advantages of Using Git Hub For Selenium?
Multiple people when they work on the same project they can update project details and infor
members simultaneously.
Jenkins can help you to build the project from the remote repository regularly. This helps you
of failed builds.
Prev
0 Comments Guru99
Recommend ⤤ Share
ALSO ON GURU99