Thursday, December 27, 2018

Testing Job News

Principal Global Services Pvt. Ltd.
Eligibility :
# BE/ BTech/ MCA/ MS or equivalent (all branches) from 2019 batch
# Good academic record and pH score

Job Description :
# Analysis, Design, Coding, Testing, reviews and Documentation.
# Test Case execution, Test Reporting, Defect life cycle, Status Reporting.
# Reporting, Effective interaction with team

# In case your college allows full end-semester internship, you may start your internship in January itself. The stipend will be 15,000 per month.
# Candidates who will opt for internship will be given preference.

Salary : ₹ 6,00,000

Event Date : 9 Jan 2019

Last Date : 7 Jan 2019

Job Location : Pune

Experience Required : Fresher (2019)

 For Apply Click Here

Saturday, January 7, 2017

Java frequently asked Interview questions for Selenium

1.       What is the default value of the local variables?
A. The local variables are not initialized to any default value, neither primitives nor object references.

2.       What is constructor?
A. Constructor is just like a method that is used to initialize the state of an object. It is invoked at the time of object creation.

3.       What is the purpose of default constructor?
·         Default constructor provides the default values to the objects. The java compiler creates a default constructor only if there is no constructor in the class

4.       Does constructor return any value?
·         Yes, that is current instance (You cannot use return type yet it returns a value).

5.       What is static variable?
·         Static variable is used to refer the common property of all objects (that is not unique for each object) e.g. company name of employees, college name of students etc.
·         Static variable gets memory only once in class area at the time of class loading.

6.       What is static method?
·         A static method belongs to the class rather than object of a class.
·         A static method can be invoked without the need for creating an instance of a class.
·         Static method can access static data member and can change the value of it.

7.       What is this in java?
·         It is a keyword that that refers to the current object

8.       Which class is the superclass for every class?
·         Object class

9.       What is super in java?
·         It is a keyword that refers to the immediate parent class object

10.   What is method overloading?
·         If a class has multiple methods by same name but different parameters, it is known as Method Overloading. It increases the readability of the program

11.   What is method overriding:
·         If a subclass provides a specific implementation of a method that is already provided by its parent class, it is known as Method Overriding. It is used for runtime polymorphism and to provide the specific implementation of the method

12.   What is final variable?
·         If you make any variable as final, you cannot change the value of final variable(It will be constant).

13.   What is final method?
·         Final methods can't be overridden.

14.   What is final class?
·         Final class can't be inherited

15.   What is abstraction?
·         Abstraction is a process of hiding the implementation details and showing only functionality to the user

16.   What is the difference between abstraction and encapsulation?
·         Abstraction hides the implementation details whereas encapsulation wraps code and data into a single unit

17.   Is it possible to instantiate the abstract class?
·         No, abstract class can never be instantiated.

18.   What is interface?
·         Interface is a blueprint of a class that has static constants and abstract methods. It can be used to achieve fully abstraction and multiple inheritance.

19.   What is difference between abstract class and interface?
Abstract class
An abstract class can have method body (non-abstract methods).
Interface have only abstract methods.
An abstract class can have instance variables.
An interface cannot have instance variables.
An abstract class can have constructor.
Interface cannot have constructor.
An abstract class can have static methods.
Interface cannot have static methods.
You can extend one abstract class.
You can implement multiple interfaces.

20.   Do I need to import java.lang package any time? Why?
No. It is by default loaded internally by the JVM.

21.   What is Exception Handling?
·         Exception Handling is a mechanism to handle runtime errors.It is mainly used to handle checked exceptions.

22.   What is difference between Checked Exception and Unchecked Exception?
·         Checked Exception: The classes that extend Throwable class except RuntimeException and Error are known as checked exceptions e.g.IOException, SQLException etc. Checked exceptions are checked at compile-time.

·         Unchecked Exception: The classes that extend RuntimeException are known as unchecked exceptions e.g. ArithmeticException, NullPointerException etc. Unchecked exceptions are not checked at compile-time.

23.   What is the base class for Error and Exception?
·         throwable

24.   What is finally block?
·         finally block is a block that is always executed

25.   What is difference between throw and throws?
throw keyword
throws keyword
throw is used to explicitly throw an exception.
throws is used to declare an exception.
checked exceptions can not be propagated with throw only.
checked exception can be propagated with throws.
throw is followed by an instance.
throws is followed by class.
throw is used within the method.
throws is used with the method signature.
You cannot throw multiple exception
You can declare multiple exception e.g. public void method()throws IOException, SQLException.

26.   What is difference between final, finally and finalize?
·         final: final is a keyword, final can be variable, method or class.You, can't change the value of final variable, can't override final method, can't inherit final class.
·         finally: finally block is used in exception handling. finally block is always executed.
·         finalize():finalize() method is used in garbage collection.finalize() method is invoked just before the object is garbage collected.The finalize() method can be used to perform any cleanup processing.

27.   What is the purpose of the Runtime class?
·         The purpose of the Runtime class is to provide access to the Java runtime system.

28.   How will you invoke any external process in Java?
·         By Runtime.getRuntime().exec(?) method.

29.   What is the difference between the Reader/Writer class hierarchy and theInputStream/OutputStream class hierarchy?
·         The Reader/Writer class hierarchy is character-oriented, and the InputStream/OutputStream class hierarchy is byte-oriented.

30.   What is thread?
·         A thread is a lightweight subprocess.It is a separate path of execution.It is called separate path of execution because each thread runs in a separate stack frame.

31.   What is the difference between List and Set?
·         List can contain duplicate elements whereas Set contains only unique elements.

32.   What is the difference between Set and Map?
·         Set contains values only whereas Map contains key and values both.

33.   What is the difference between HashSet and HashMap?
·         HashSet contains only values whereas HashMap contains entry (key,value). HashSet can be iterated but HashMap need to convert into Set to be iterated.

34.   What is the difference between HashMap and Hashtable?
HashMap is not synchronized.
Hashtable is synchronized.
HashMap can contain one null key and multiple null values.
Hashtable cannot contain any null key or null value.

35.   What is the advantage of Properties file?
·         If you change the value in properties file, you don't need to recompile the java class. So, it makes the application easy to manage.

36.   How you will define the constant in java
·         Final Keyword

37.   Main method can be override or overload?
·         Cannot override main method but it can be overloaded.

38.   From main method if we remove (String [] args) it will work or not?
Public static void main ( )
·         Yes, Overloading

39.   If I rearrange the order of main method it will work or not?
Static public Void main (String[] args)

·         Yes, this will work

40.   Why it is called main method not any other method is not main?
·         JVM looks for a method called main to start execution

41.   How to come out of the for loop?
·         break;

42.   Hierarchy of the exception handling?

Error                      Exception
                                IOException       RuntimeException

43.   What is the difference between String and StringBuffer?
·         String is immutable, meaning that when you perform an operation on a String you are really creating a whole new String.
·         StringBuffer is mutable, and you can append to it as well as reset its length to 0.
·         StringBuffer is faster than String when performing simple concatenations.

44.   What is default Boolean value in java?
·         False

Multi tabs handling Using Selenium

Using Robot We can Handle Multiple Tabs in Selenium

package samples;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.testng.annotations.Test;

 * @author krishnareddy
public class MultiTabs {

public void multiTabs() throws AWTException {

// System.setProperty("",
// "Drivers\\chromedriver.exe");
WebDriver driver = new FirefoxDriver();
// driver.findElement(By.xpath(""));

//open new tab
new Actions(driver)

// System.out.println(driver.getWindowHandles().size());

Robot robot = new Robot();

* robot.keyPress(KeyEvent.VK_CONTROL); robot.keyPress(KeyEvent.VK_TAB);
* robot.keyRelease(KeyEvent.VK_CONTROL);
* robot.keyRelease(KeyEvent.VK_TAB);

//close current tab


//get current tab title
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

//click on any element

//get back previous tab



Friday, January 6, 2017

Synchronizing Selenium Webdriver with Application using implicit and Explicit

To make synchronize webdriver with application we have three ways in selenium.
  1. impliciteWait : If we use implicitlyWait(20, TimeUnit.SECONDS) method, then the  driver will wait up to 20( or more) seconds , if object is available meanwhile,then the next operation will be performed, it won't consider about object state like enabled, disable or clickable , editable etc…
if object not identified in given time then exception will be thrown..

Sample Code :   
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

  1. expliciteWait : If we use ExpectedConditions method in  WebDriverWait Interface,then the driver will wait up to 20( or more) seconds , if object is available meanwhile,then the next operation will be performed,and  it will consider about object state like enabled, disable or clickable , editable etc…
if object not identified in given time then exception will be thrown..

Sample Code:
WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement element = wait.until(ExpectedConditions.elementToBeClickable("someid")));

  1. Thread.sleep(long milliSeconds) : Here  sleep(long milliSeconds) method will pause the execution until given time operation will not be performed even the object is available in page. generally we use this when even next page object is available in current page also.

1. What is Selenium? Faqs

1.    What is Selenium?
Selenium is a suite of tools for browser automation. It is composed of "IDE", a recording and playback mechanism, "WebDriver" and "RC" which provide APIs for browser automation in a wide variety of languages, and "Grid", which allows many tests using the APIs to be run in parallel. It works with most browsers, including Firefox from 3.0 up to 7, Internet Explorer 8, Google Chrome, Safari and Opera 11.5

2.    Describe technical problems that you had with Selenium tool?

As with any other type of test automation tools like SilkTest, HP QTP, Watir, Canoo Webtest, Selenium allows to record, edit, and debug tests cases. However there are several problems that seriously affect maintainability of recorded test cases, occasionally Quality Assurance Engineers complain that it takes more time to maintain automated test cases than to perform manual testing; however this is an issue with all automated testing tools and most likely related to improper testing framework design. Another problem is complex ID for an HTML element. If IDs is auto-generated, the recorder test cases may fail during playback. The work around is to use XPath to find required HTML element. Selenium supports AJAX without problems, but QA Tester should be aware that Selenium does not know when AJAX action is completed, so ClickAndWait will not work. Instead QA tester could use pause, but the snowballing effect of several 'pause' commands would really slow down total testing time of test cases. The best solution would be to use waitForElement.

3.    What test can Selenium do?

Selenium could be used for the functional, regression, load testing of the web based applications. The automation tool could be implemented for post release validation with continuous integration tools like Jenkins, Hudson, QuickBuild or CruiseControl.

4.    What is the price of Selenium license per server?

Selenium is open source software, released under the Apache 2.0 license and can be downloaded and used without charge.

5.    How much does Selenium license cost per client machine?

Selenium is open source software, released under the Apache 2.0 license and can be downloaded and used without charge.

6.    Where to download Selenium?

Selenium can be downloaded and installed for free from

8.    What is Selenium IDE?
Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test cases, which QA Tester can play back in the Firefox browser or export to Selenium RC. Selenium IDE has the following features: record/play feature, debugging with step-by-step and breakpoints, page abstraction functionality, an extensibility capability allowing the use of add-ons or user extensions that expand the functionality of Selenium IDE

9.    What are the limitations of Selenium IDE?

Selenium IDE has many great features and is a fruitful and well-organized test automation tool for developing test cases, in the same time Selenium IDE is missing certain vital features of a testing tool: conditional statements, loops, logging functionality, exception handling, reporting functionality, database testing, re-execution of failed tests and screenshots taking capability. Selenium IDE doesn't for IE, Safari and Opera browsers.

10.    What does SIDE stand for?

Selenium IDE. It was a very tricky interview question.

11.    What is Selenium Remote Control (RC) tool?

Selenium Remote Control (RC) is the powerful solution for test cases that need more than simple browser actions and linear execution. Selenium-RC allows the developing of complex test scenarios like reading and writing files, querying a database, and emailing test reports. These tasks can be achieved by tweaking test cases in your preferred programming language.

12.    What are the advantages using Selenium as testing tool?

If QA Tester would compare Selenium with HP QTP or Micro Focus SilkTest, QA Engineer would easily notice tremendous cost savings for Selenium. In contrast to expensive SilkTest license or QTP license, Selenium automation tool is absolutely free. It means that with almost no investment in purchasing tools, QA Team could easily build the state of the art test automation infrastructure. Selenium allows developing and executing test cases in various programming languages including .NET, Java, Perl, RubyPython, PHP and even HTML. This is a great Selenium advantage, most likely your software developers already know how to develop and maintain C# or Java code, so they transfer coding techniques and best practices to QA team. Selenium allows simple and powerful DOM-level testing and in the same time could be used for testing in the traditional waterfall or modern Agile environments. Selenium would be definitely a great fit for the continuous integration tools Jenkins, Hudson, CruiseControl, because it could be installed on the server testing box, and controlled remotely from continuous integration build.

13.    What is Selenium Grid?

Selenium Grid extends Selenium RC to distribute your tests across multiple servers, saving you time by running tests in parallel.

14.    What is Selenium WebDriver?

Selenium WebDriver is a tool for writing automated tests of websites. It is an API name and aims to mimic the behaviour of a real user, and as such interacts with the HTML of the application. Selenium WebDriver is the successor of Selenium Remote Control which has been officially deprecated.

15.    How many browsers are supported by Selenium IDE?

Test Engineer can record and playback test with Selenium IDE in Firefox.

16.    Can Selenium test an application on iPhone's Mobile Safari browser?

Selenium should be able to handle Mobile Safari browser. There is experimental Selenium IPhone Driver for running tests on Mobile Safari on the iPhone, iPad and iPod Touch.

17.    Can Selenium test an application on Android browser?

Selenium should be able to handle Android browser. There is experimental Selenium Android Driver for running tests in Android browser.

18.    What are the disadvantages of using Selenium as testing tool?

Selenium weak points are tricky setup; dreary errors diagnosis; tests only web applications

19.    How many browsers are supported by Selenium Remote Control?

QA Engineer can use Firefox 7, IE 8, Safari 5 and Opera 11.5 browsers to run actuall tests in Selenium RC.

20.    How many programming languages can you use in Selenium RC?

Several programming languages are supported by Selenium Remote Control - C# Java Perl PHP Python Ruby

21.    How many testing framework can QA Tester use in Selenium RC?

Testing frameworks aren't required, but they can be helpful if QA Tester wants to automate test cases. Selenium RC supports Bromine, JUnit, NUnit, RSpec (Ruby), Test::Unit (Ruby), TestNG (Java), unittest (Python).

22.    How to developer Selenium Test Cases?

Using the Selenium IDE, QA Tester can record a test to comprehend the syntax of Selenium IDE commands, or to check the basic syntax for a specific type of user interface. Keep in mind that Selenium IDE recorder is not clever as QA Testers want it to be. Quality assurance team should never consider Selenium IDE as a "record, save, and run it" tool, all the time anticipate reworking a recorded test cases to make them maintainable in the future.

23.    What programming language is best for writing Selenium tests?

The web applications may be written in Java, Ruby, PHP, Python or any other web framework. There are certain advantages for using the same language for writing test cases as application under test. For example, if the team already have the experience with Java, QA Tester could always get the piece of advice while mastering Selenium test cases in Java. Sometimes it is better to choose simpler programming language that will ultimately deliver better success. In this case QA testers can adopt easier programming languages, for example Ruby, much faster comparing with Java, and can become become experts as soon as possible.

24.    Have you read any good books on Selenium?

There are several great books covering Selenium automation tool, you could check the review at Best Selenium Books: Top Recommended page

25.    Do you know any alternative test automation tools for Selenium?

Selenium appears to be the mainstream open source tool for browser side testing, but there are many alternatives. Canoo Webtest is a great Selenium alternative and it is probably the fastest automation tool. Another Selenium alternative is Watir, but in order to use Watir QA Tester has to learn Ruby. One more alternative to Selenium is Sahi, but is has confusing interface and small developers community.

26.    Compare HP QTP vs Selenium?

When QA team considers acquiring test automation to assist in testing, one of the most critical decisions is what technologies or tools to use to automate the testing. The most obvious approach will be to look to the software market and evaluate a few test automation tools. Read Selenium vs QTP comparison

27.    Compare Borland Silktest vs Selenium?

Check Selenium vs SilkTest comparison

28.    How to test Ajax application with Selenium

Ajax interview questions could be tough for newbie in the test automation, but will be easily cracked by Selenium Tester with a relevant experience. Read the detailed approach at Testing Ajax applications with Selenium in the right way

29.    How can I learn to automate testing using Selenium?

Don't be surprised if the interviewer asks you to describe the approach for learning Selenium. This interviewer wants to hear how you can innovative software test automation process the company. Most likely they are looking for software professional with a good Selenium experience, who can do Selenium training for team members and get the team started with test automation. I hope this Selenium tutorial will be helpful in the preparation for this Selenium interview question.

30. What are the main components of Selenium testing tools?

Selenium IDE, Selenium RC and Selenium Grid

31. What is Selenium IDE?

Selenium IDE is for building Selenium test cases. It operates as a Mozilla Firefox add on and provides an easy to use interface for developing and running individual test cases or entire test suites. Selenium-IDE 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.

32. What is the use of context menu in Selenium IDE?

It allows the user to pick from a list of assertions and verifications for the selected location.

33. Can tests recorded using Selenium IDE be run in other browsers?

Yes. Although Selenium IDE is a Firefox add on, however, tests created in it can also be run in other browsers by using Selenium RC (Selenium Remote Control) and specifying the name of the test suite in command line.

34. What are the advantage and features of Selenium IDE?

a. Intelligent field selection will use IDs, names, or XPath as needed
b. It is a record & playback tool and the script format can be written in various languages including C#, Java, PERL, Python, PHP, HTML
c. Auto complete for all common Selenium commands
d. Debug and set breakpoints
e. Option to automatically assert the title of every page
f. Support for Selenium user-extensions.js file

35. What are the disadvantage of Selenium IDE tool?

a. Selenium IDE tool can only be used in Mozilla Firefox browser.
b. It is not playing multiple windows when we record it.

36. What is Selenium RC (Remote Control)?

Selenium RC allows the test automation expert to use a programming language for maximum flexibility and extensibility in developing test logic. For example, if the application under test returns a result set and the automated test program needs to run tests on each element in the result set, the iteration / loop support of programming language’s can be used to iterate through the result set, calling Selenium commands to run tests on each item. Selenium RC provides an API and library for each of its supported languages. This ability to use Selenium RC with a high level programming language to develop test cases also allows the automated testing to be integrated with the project’s automated build environment.

37. What is Selenium Grid?

Selenium Grid in the selenium testing suit allows the Selenium RC solution to scale for test suites that must be run in multiple environments. Selenium Grid can be used to run multiple instances of Selenium RC on various operating system and browser configurations.

38. How Selenium Grid works?

Selenium Grid sent the tests to the hub. Then tests are redirected to an available Selenium RC, which launch the browser and run the test. Thus, it allows for running tests in parallel with the entire test suite.

39. What you say about the flexibility of Selenium test suite?

Selenium testing suite is highly flexible. There are multiple ways to add functionality to Selenium framework to customize test automation. As compared to other test automation tools, it is Selenium’s strongest characteristic. Selenium Remote Control support for multiple programming and scripting languages allows the test automation engineer to build any logic they need into their automated testing and to use a preferred programming or scripting language of one’s choice.

Also, the Selenium testing suite is an open source project where code can be modified and enhancements can be submitted for contribution.

40. What test can Selenium do?

Selenium is basically used for the functional testing of web based applications. It can be used for testing in the continuous integration environment. It is also useful for agile testing

41. What is the cost of Selenium test suite?

Selenium test suite a set of open source software tool, it is free of cost.

42. What browsers are supported by Selenium Remote Control?

The test automation expert can use Firefox, IE 7/8, Safari and Opera browsers to run tests in Selenium Remote Control.

43. What programming languages can you use in Selenium RC?

C#, Java, Perl, PHP, Python, Ruby

44. What are the advantages and disadvantages of using Selenium as testing tool?

Advantages: Free, Simple and powerful DOM (document object model) level testing, can be used for continuous integration; great fit with Agile projects.

Disadvantages: Tricky setup; dreary errors diagnosis; can not test client server applications.

45. What is difference between QTP and Selenium?

Only web applications can be testing using Selenium testing suite. However, QTP can be used for testing client server applications. Selenium supports following web browsers: Internet Explorer,

Firefox, Safari, Opera or Konqueror on Windows, Mac OS X and Linux. However, QTP is limited to Internet Explorer on Windows.

QTP uses scripting language implemented on top of VB Script. However, Selenium test suite has the flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.

46. What is difference between Borland Silk test and Selenium?

Selenium is completely free test automation tool, while Silk Test is not. Only web applications can be testing using Selenium testing suite. However, Silk Test can be used for testing client server applications. Selenium supports following web browsers: Internet Explorer, Firefox, Safari, Opera or Konqueror on Windows, Mac OS X and Linux. However, Silk Test is limited to Internet Explorer and Firefox.

Silk Test uses 4Test scripting language. However, Selenium test suite has the flexibility to use many languages like Java, .Net, Perl, PHP, Python, and Ruby.

47. What is the difference between an assert and a verify with Selenium commands?

Effectively an “assert” will fail the test and abort the current test case, whereas a “verify” will fail the test and continue to run the test case.
48. If a Selenium function requires a script argument, what would that argument look like in general terms?
StoreEval(script, variable) and storeExpression(expression, variableName)

49. If a Selenium function requires a pattern argument, what five prefixes might that argument have?

glob, regexp, exact, regexpi

50. What is the regular expression sequence that loosely translates to "anything or nothing?"

(.* i.e., dot star) This two-character sequence can be translated as “0 or more occurrences of any character” or more simply, “anything or nothing.

51. What is the globbing sequence that loosely translates to "anything or nothing?

(*) which translates to “match anything,” i.e., nothing, a single character, or many characters.

52. What does a character class for all alphabetic characters and digits look like in regular expressions?

[0-9] matches any digit
[A-Za-z0-9] matches any alphanumeric character
[A-Za-z] matches any alphabet character

53. What does a character class for all alphabetic characters and digits look like in globbing?

[0-9] matches any digit
[a-zA-Z0-9] matches any alphanumeric character
[a-zA-Z] matches any alphabet character

54. What must one set within SIDE in order to run a test from the beginning to a certain point within the test?

Set Toggle BreakPoint.

55. What does a right-pointing green triangle at the beginning of a command in SIDE indicate?

Play Entire Test Suite

56. Which wildcards does SIDE support?

*, [ ]

57. What are the four types of regular expression quantifiers which we've studied?

Ans : * quantifier: 0 or more of the preceding character (or group)
+ quantifier: 1 or more of the preceding character (or group)
? quantifier: 0 or 1 of the preceding character (or group)
{1,5} quantifier: 1 through 5 of the preceding character (or group)

58. What regular expression special character(s) means "any character?"


59. What distinguishes between an absolute and relative URL in SIDE?

Absolute URL: Its is base url and this represent domain address.
Relative URL: (Absolute URL + Page Path).
Open command uses Base URL (Absolute URL) to navigate web page.

60. How would one access a Selenium variable named "count" from within a JavaScript snippet?


61. What Selenese command can be used to display the value of a variable in the log file, which can be very valuable for debugging?


62. If one wanted to display the value of a variable named answer in the log file, what would the first argument to the previous command look like?


63. Which Selenium command(s) simulates selecting a link?

click, clickandWait, ClickAt, ClickAtandWait, DoubleClick, DoubleClickandWait, doubleClickAt, doubleClickAtandWait

64. Which two commands can be used to check that an alert with a particular message popped up?

The following commands are available within Selenium for processing Alerts:
• getAlert()
• assertAlert()
• assertAlertNotPresent()
• assertAlertPresent()
• storeAlert()
• storeAlertPresent()
• verifyAlert()
• verifyAlertNotPresent()
• verifyAlertPresent()
• waitForAlert()
• waitForAlertNotPresent()
• waitForAlertPresent()
The AlertPresent() and AlertNotPresent() functions check for the existence or not of an alert – regardless of it’s content. The Alert() functions allow the caller to specify a pattern which should be matched. The getAlert() method also exists in Selenium RC, and returns the text from the previous Alert displayed.