1.
How does u handle dynamic elements without using
xpath
(with example?)
· By using classname or css.
2.
What are the different types of driver implementation?
· AndroidDriver, AndroidWebDriver,
ChromeDriver, EventFiringWebDriver, FirefoxDriver, HtmlUnitDriver,
InternetExplorerDriver, IPhoneDriver, IPhoneSimulatorDriver, RemoteWebDriver,
SafariDriver, WebDriverBackedSelenium
3.
Code for Opening Firefox browser?
· Webdriver driver=new
FireFoxdriver();
4.
Which repository you have used to store the test
scripts?
scripts?
I
have created scripts in excel file and store them in Test cases folder under
src .
5.
How to work with radio button in web driver?
We can select the value from the
drop down by using 3 methods.
selectByVisibleText - select by
the text displayed in drop down
selectByIndex - select by
index of option in drop down
selectByValue - select by
value of option in drop down
<select
id="44"><option value="1">xyz</option>
<option
value="2">abc</option>
<option value="3">pqr</option>
WebElement e =
driver.findElement(By.id("44"));
Select selectElement=new
Select(e);
// both of the below statements
will select first option in the weblist
selectElement.selectByVisibleText("xyz");
selectElement.selectByValue("1");
6.
How to work with dynamic web table?
You
can get the total number of <tr> tags within a <td> tag by giving
the xpath of the
<td> element by using this function -
<td> element by using this function -
List<WebElement>ele
= driver.findElements(By.xpath("Xpath of the table"));
Now
you can use a for each loop to loop through each of the <tr> tags in the
above list
and then read each value by using getText() method.
and then read each value by using getText() method.
7.
Detail about TestNG Test Output folder.
It
is the directory where reports are generated. Every time tests run in a suite,
TestNG
creates index.html and other files in the output directory.
creates index.html and other files in the output directory.
8.
In frame if no frame Id as well as no frame
name then which attribute I should consider
throughout our script.
name then which attribute I should consider
throughout our script.
You
can go like this.....driver.findElements(By.xpath("//iframe"))...
Then
it will return List of frames then switch to each and every frame and search
for
the locator which you want then break the loop
the locator which you want then break the loop
9.
What is object repository?
It
is collection of object names their properties, attributes and their values .It
maye be
excel, XML,property file or text file
excel, XML,property file or text file
10.
TestNG vs. Junit?
Advantages of TestNG over Junit
In Junit we have to declare
@BeforeClass and @AfterClass which is a constraint where as in TestNG there is
no constraint like this.
Additional Levels of
setUp/tearDown level are available in TestNG like
@Before/AfterSuite,@Before/AfterTest and @Before/AfterGroup
No Need to extend any class in
TestNG.
There is no method name constraint
in TestNG as in Junit. You can give any name to the test methods in TestNG
In TestNG we can tell the test
that one method is dependent on another method where as in Junit this is not
possible. In Junit each test is independent of another test.
Grouping of testcases is available
in TestNGwhere as the same is not available in Junit.
Execution can be done based on
Groups. For ex. If you have defined many cases and segregated them by defining
2 groups as Sanity and Regression. Then if you only want to execute the
“Sanity” cases then just tell TestNG to execute the “Sanity” and TestNG will
automatically execute the cases belonging to the “Sanity” group.
Also using TestNG your selenium
test case execution can be done in parallel.
11. What is the difference between @before
method and @beforeclass.
method and @beforeclass.
In
JUnit4 @Before is used to execute set of preconditions before executing a
test.
For example, if there is a need to open some application and create a user before
executing a test, then this annotation can be used for that method. Method that is
marked with @Before will be executed before executing every test in the class.
For example, if there is a need to open some application and create a user before
executing a test, then this annotation can be used for that method. Method that is
marked with @Before will be executed before executing every test in the class.
If
a JUnit test case class contains lot of tests which all together need a
method
which sets up a precondition and that needs to be executed before executing the
Test Case class then we can utilise “@BeforeClass” annotation.
which sets up a precondition and that needs to be executed before executing the
Test Case class then we can utilise “@BeforeClass” annotation.
12.
What are
the different Parameters for @Test
annotation?
annotation?
Parameters
are keywords that modify the annotation’s function.
13.
Can we run group of test cases using TestNG?
Test
cases in group in Selenium using TestNG will be executed with the below
options.
If
you want to execute the test cases based on one of the group like regression
test or smoke test
@Test(groups
= {"regressiontest", "smoketest"})
14.
Differences between Selenium web driver,
IDE and RC?
IDE and RC?
15.
How to highlight an object like qtp/uft does
through selenium and java?
through selenium and java?
public void
highlightElement(WebDriver driver, WebElement element) {
for (int i = 0; i < 2; i++)
{
JavascriptExecutorjs =
(JavascriptExecutor) driver;
js.executeScript("arguments[0].setAttribute('style',
arguments[1]);", element, "color: yellow; border: 2px solid
yellow;");
js.executeScript("arguments[0].setAttribute('style',
arguments[1]);", element, "");
}}
Call the highlightElement method
and pass webdriver and WebElement which you want to highlight as arguments.
16.
What are the different assertions in SIDE?
Assertions are like Accessors, but they verify that the
state of the application conforms to what is expected. Examples include
"make sure the page title is X" and "verify that this checkbox
is checked".
All Selenium
Assertions can be used in 3 modes: "assert", "verify", and
"waitFor".
For example, you can "assertText", "verifyText" and "waitForText". When an "assert" fails, the test is aborted. When a "verify" fails, the test will continue execution, logging the failure. This allows a single "assert" to ensure that the application is on the correct page, followed by a bunch of "verify" assertions to test form field values, labels, etc.
"waitFor" commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting (see the setTimeout action below).
For example, you can "assertText", "verifyText" and "waitForText". When an "assert" fails, the test is aborted. When a "verify" fails, the test will continue execution, logging the failure. This allows a single "assert" to ensure that the application is on the correct page, followed by a bunch of "verify" assertions to test form field values, labels, etc.
"waitFor" commands wait for some condition to become true (which can be useful for testing Ajax applications). They will succeed immediately if the condition is already true. However, they will fail and halt the test if the condition does not become true within the current timeout setting (see the setTimeout action below).
17.
How to store a value which is text box using
web driver?
web driver?
driver.findElement(By.id("your
Textbox")).sendKeys("your keyword");
18.
How to handle alerts and confirmation boxes.
Confirmation
boxes and Alerts are handled in same way in selenium.
var
alert = driver.switchTo().alert();
alert.dismiss();
//Click Cancel or Close window operation
alert.accept();
//Click OK
Handle
Confirmation boxes via JavaScript,
driver.executeScript("window.confirm
= function(message){return true;};");
19.
How to mouse hover on an element?
Actions
action = new Actions(webdriver);
WebElement
we = webdriver.findElement(By.xpath("html/body/div[13]/ul/li[4]/a"));
action.moveToElement(we).moveToElement(webdriver.findElement(By.xpath("/expression-here"))).click().build().perform();http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
20.
How to switch between the windows?
private
void handlingMultipleWindows(String windowTitle) {
Set<String> windows = driver.getWindowHandles();
for (String window : windows) {
driver.switchTo().window(window);
if (driver.getTitle().contains(windowTitle)) { return;
} } }
21.
How to switch between frames?
WebDriver's driver.switchTo().frame() method
takes one of the three possible arguments:
Select a frame by its (zero-based) index. That
is, if a page has three frames, the first frame would be at index
"0", the second at index "1" and the third at index
"2". Once the frame has been selected, all subsequent calls on the
WebDriver interface are made to that frame.
Select a frame by its name or ID. Frames located
by matching name attributes are always given precedence over those matched by
ID.
Select a frame using its previously located
WebElement.
Get the frame by it's id/name or
locate it by driver.findElement() and you'll
be good.
22.
What is actions class in web driver?
Actions
class with web Driver help is Sliding element, Resizing an Element, Drag &
Drop,
hovering
a mouse, especially in a case when dealing with mouse over menus.
Dragging
& Dropping an Element:
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.firefox.FirefoxDriver;
importorg.openqa.selenium.interactions.Actions;
public class testDragandDrop {
public static void
main(String[] args) throws InterruptedException {
WebDriver driver =
new FirefoxDriver();
driver.get("http://jqueryui.com/resources/demos/droppable/default.html");
WebElementdraggable =
driver.findElement(By.xpath("//*[@id='draggable']"));
WebElement droppable =
driver.findElement(By.xpath("//*[@id='droppable']"));
Actions action = new
Actions(driver);
action.dragAndDrop(draggable,
droppable).perform();
}
}
Sliding
an Element:
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.firefox.FirefoxDriver;
importorg.openqa.selenium.interactions.Actions;
public class testSlider {
/**
* @paramargs
* @throws
InterruptedException
*/
public static void
main(String[] args) throws InterruptedException {
WebDriver driver =
new FirefoxDriver();
driver.get("http://jqueryui.com/resources/demos/slider/default.html");
WebElement slider =
driver.findElement(By.xpath("//*[@id='slider']/a"));
Actions action = new
Actions(driver);
Thread.sleep(3000);
action.dragAndDropBy(slider,
90, 0).perform();
}
}
Re-sizing
an Element:
importorg.openqa.selenium.By;
importorg.openqa.selenium.WebDriver;
importorg.openqa.selenium.WebElement;
importorg.openqa.selenium.firefox.FirefoxDriver;
importorg.openqa.selenium.interactions.Actions;
public class testResizable {
public static void
main(String[] args) throws InterruptedException {
WebDriver driver =
new FirefoxDriver();
driver.get("http://jqueryui.com/resources/demos/resizable/default.html");
WebElement
resize =
driver.findElement(By.xpath("//*[@id='resizable']/div[3]"));
Actions action = new
Actions(driver);
action.dragAndDropBy(resize, 400, 200).perform();
}
}
23.
Difference between the selenium1.0 and
selenium 2.0?
selenium 2.0?
Selenium
1 = Selenium Remote Control.
Selenium
2 = Selenium Web driver, which combines elements of Selenium 1 and Web driver.
24.
Difference between find element () and
findelements ()?
findelements ()?
findElement() :
Find
the first element within the current page using the given "locating
mechanism".
Returns
a single WebElement.
findElements() :
Find
all elements within the current page using the given "locating
mechanism".
Returns
List of Web Elements.
25.
How to take the screen shots in seelnium2.0?
// store
screenshots
public static void captureScreenShot(String filePath) {
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(scrFile, new File(filePath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void captureScreenShot(String filePath) {
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
try {
FileUtils.copyFile(scrFile, new File(filePath));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
26.
What is the default time for selenium Ide and
webdriver?
webdriver?
Default
timeout in selenium ide is 30 seconds.
27.
Write down scenarios which we can't automate?
Barcode
Reader, Captcha etc.
28.
In TestNG I have some test's Test1-Test2-
Test3-Test4-Test5I want to run my execution
order is Test5-Test1-Test3-Test2-Test4.How
do you set the execution order can you explain
for that?
Test3-Test4-Test5I want to run my execution
order is Test5-Test1-Test3-Test2-Test4.How
do you set the execution order can you explain
for that?
· Use priority parameter in @test
annotation or TestNG annotations.
29.
Differences between jxl and ApachePOI.
· jxl does not support XLSX
files
· jxl exerts less load on memory as
compared to ApachePOI
· jxl doesn't support rich text
formatting while ApachePOI does.
· jxl has not been maintained
properly while ApachePOI is more up to date.
· Sample code on Apache POI is
easily available as compare to jxl.
30.
How to ZIP files in Selenium with an Example?
// Sample Function to make zip of reports
public static void zip(String filepath){
try
{
File inputFolder=new File('Mention file path her");
File outputFolder=new File("Reports.zip");
ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(outputFolder)));
BufferedInputStream in = null;
byte[] data = new byte[1000];
String files[] = inputFolder.list();
for (int j=0; j<files.length; i++)
{
in = new BufferedInputStream(new FileInputStream
(inputFolder.getPath() + "/" + files[j]), 1000);
out.putNextEntry(new ZipEntry(files[j]));
inttotalcount;
while((totalcount= in.read(data,0,1000)) != -1)
{
out.write(data, 0, totalcount);
}
out.closeEntry();
}
out.flush();
out.close();
}
catch(Exception e)
{
e.printStackTrace();
return "Fail - " + e.getMessage();
}
}
http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
31.
What is default port no?
4444
32.
If Default port no is busy how to change port no?
We
can use any port number which is valid.. First create an object to remote
control configuration.
Use 'setPort' method and provide valid port number(4545,5555,5655, etc).. There after attach this
remote control configuration object to selenium server..i.e
Use 'setPort' method and provide valid port number(4545,5555,5655, etc).. There after attach this
remote control configuration object to selenium server..i.e
RemoteControlConfiguration
r= new RemoteControlConfiguration();
r.setPort(4567);
SeleniumServer
s= new SeleniumServer(r);
33.
Does Selenium support https protocols?
Yes
34. Majorly asked test scenario
with framework in
Interviews?
Interviews?
Majorly asked are:
· Login for Gmail scenario
· Goggle
search and finding no of results
· Downloading
a file and save it
· Checking
mails and deleting them
· Do
shopping in flipkart.com
http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
35.
Selenium support mobile applications?
No,
it is browser automation tool, it only automates Websites opening in mobile
browser, and mobile APPs
can't
be automated.
36.
What is wraps Driver?
For
casting selenium instance to selenium2 (webdriver).wraps driver is used.
For
more details.
37.
Can you explain Junit Annotation? If there are
1000 test cases. 500 test cases are executed. How
will you execute the rest of the test cases by using annotation?"
1000 test cases. 500 test cases are executed. How
will you execute the rest of the test cases by using annotation?"
The
annotations generated with JUnit 4 tests in Selenium are:
1.
@Before public void method() - Will perform the method() before each test. This
method
can prepare the test
can prepare the test
2.
@Test public void method() - Annotation @Test identifies that this method is a
test
method.environment,e.g. read input data, initialize the class)
method.environment,e.g. read input data, initialize the class)
3.
@After public void method() - Test method must start with test@Before - this
annotation
is used for executing a method before
is used for executing a method before
38.
Difference between assert and verify in selenium
web driver.
web driver.
·
When an “assert” fails, the test
will be aborted. Assert is best used when the
check value has to pass for the test to be able to continue to run log in.
check value has to pass for the test to be able to continue to run log in.
·
Where if a “verify” fails, the test
will continue executing and logging the failure.
Verify is best used to checknon critical things. Like the presence of a
headline element.
Verify is best used to checknon critical things. Like the presence of a
headline element.
39.
"I want to find the location of ""b"" in the below
code, how can I find out without using xpath, name,
id, csslocator, index.<div>
code, how can I find out without using xpath, name,
id, csslocator, index.<div>
<Button>a</button>
<Button>b</button>
<Button>c</button>
</div>http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
driver.findElement(By.xpath("//*[contains(text(),'b')]")).click(); or
//div/button[contains(text(),'b']
·
40.
How to do Applet testing using selenium?
// selenium setup selenium =newDefaultJavaSelenium("localhost",4444,browserString,url); selenium.start(); selenium.open(url); // get the appletfixure to control fest JAppletFixture AppletFixture dialog =selenium.applet(LIST_APPLET_ID) // fest similar API for autmation testing dialog.comboBox("domain").select("Users"); dialog.textBox("username").enterText("alex.ruiz"); dialog.button("ok").click();
41.
Name 5 different exceptions you had in
selenium web driver and mention what instance
you got it and how do you resolve it?
selenium web driver and mention what instance
you got it and how do you resolve it?
· WebDriverException
· NoAlertPresentException
· NoSuchWindowException
· NoSuchElementException
· TimeoutException
http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
http://akhilreddyonlineseleniumtrainings.blogspot.in/2015/09/selenium-realtime-interview-questions.html
42.
How do you manage the code versions in
your project?
your project?
· Using SVN or other versioning
tools
43.
Latest version of Firefox and selenium in
market and the version on which you are testing
which you are testing.
market and the version on which you are testing
which you are testing.
· FF Latest version till Dec,2013
for windows7,64 bit :26.0.I use FF 25.0.1 (ur ans. may differ)
· Selenium web driver latest version
till dec,2013- 2.39.0 I use selenium 2.37 see latest at
44.
How to know all the methods supported in
web driver
web driver
and
its syntax.
· In Org.openqa.selenium package,
web driver interface has all the main methods that can
be
used in Selenium Web driver
·
45.
How do you create html test report from
your test script?
your test script?
•
I would see below 3 ways:
•
Junit: with the help of ANT.
•
TestNG: using inbuilt default.html to get the HTML report. Also XLST reports
from ANT,
Selenium,
TestNG combination.
•
Using our own customized reports using XSL jar for converting XML content to
HTML.
46.
List the browsers, OS supported by the Selenium
Windows
Linux Mac
IE
Y NA NA
FF
Y YY
Safari
Y N Y
Opera
Y YY
Chrome
Y YY
47.
Can you explain Selenium Mobile Automation?
importjunit.framework.TestCase; importorg.openqa.selenium.By; importorg.openqa.selenium.WebElement; importorg.openqa.selenium.android.AndroidDriver; publicclassOneTestextendsTestCase{ publicvoidtestGoogle()throwsException{ WebDriver driver =newAndroidDriver(); // And now use this to visit Google driver.get("http://www.google.com"); // Find the text input element by its name WebElement element =driver.findElement(By.name("q")); // Enter something to search for element.sendKeys("Cheese!"); // Now submit the form. WebDriver will find the form for us from the element element.submit(); // Check the title of the page System.out.println("Page title is: "+driver.getTitle()); driver.quit(); } }
48.
What mobile devices it may Support?
Selenium
Web driver supports all the mobile devices operating on Android, IOS operating
Systems
· Android – for phones and tablets
(devices & emulators)
· iOS for phones (devices &
emulators) and for tablets (devices & emulators)
49.
What is the difference between single and
double slash
double slash
inXpath?
/
1.It starts selection from the
document node
2. It Allows you to
create 'absolute' path expressions
3. e.g “/html/body/p” matches all
the paragraph elements
//
1. It starts selection matching
anywhere in the document
2. It Allows you to create
'relative' path expressions
3. e.g“//p” matches all the
paragraph elements
50.
What are the test types supported by Selenium?
Selenium
supports UI and functional testing. As well it can support performance testing
for
reasonable load using selenium grid.
.
In what all case we have to go for
“JavaScript executor”.
“JavaScript executor”.
Consider
FB main page after you login. When u scrolls down, the updates get loaded. To
handle this activity, there is no selenium command. So you can go for javascript to set
the scroll down value like driver.executeScript("window.scrollBy(0,200)", "");
handle this activity, there is no selenium command. So you can go for javascript to set
the scroll down value like driver.executeScript("window.scrollBy(0,200)", "");
Awesome akhil !! great job and very helpful..
ReplyDeletethank u so much
ReplyDeletesir please tel me Hybrid Framework architecture and how it will works
ReplyDeleteReally very helpful,Thnks...
ReplyDeleteonrupee.com
Liked it.
ReplyDeletepretty informative.Thanks for your post Akhil
ReplyDeleteThanks for sharing this Information, Got to learn new things from your Blog on Selenium.
ReplyDeleteRef link : http://thecreatingexperts.com/software-testing-training-in-chennai/selenium-training-in-chennai/