HCLTech
10+ TCS Interview Questions and Answers
Q1. Have you ever faced synchronization problem ? How did you overcome them ?
Yes, I have faced synchronization problems while automating tests.
Yes, I have encountered synchronization issues when elements load at different speeds on a webpage.
To overcome this, I have used explicit waits in Selenium to wait for specific conditions before proceeding with the test.
I have also used implicit waits to set a default waiting time for the elements to load.
In some cases, I have used Thread.sleep() to pause the execution for a specific time to ensure synchronizat...read more
Q2. What is framework ? Explain the frameworks you worked on in your project?
A framework is a set of guidelines, coding standards, concepts, and practices that provide structure and support for automated testing.
Framework helps in organizing and executing automated tests efficiently.
Common frameworks include Data-Driven, Keyword-Driven, Hybrid, and Behavior-Driven Development (BDD).
In my project, I have worked on a Data-Driven framework where test data is separated from test scripts for easy maintenance.
Q3. What is the deference between methods and constructors
Methods are functions within a class that define behavior, while constructors are special methods used to initialize objects.
Methods are used to perform actions or operations within a class.
Constructors are special methods used to initialize objects when they are created.
Methods can have return types and parameters, while constructors do not have return types and have the same name as the class.
Example: Method 'calculateArea()' in a 'Rectangle' class calculates the area, whil...read more
Q4. What are the exceptions handled other than NosuchElementException
Other exceptions handled in automation testing besides NoSuchElementException
ElementNotVisibleException - when element is present in DOM but not visible on the page
StaleElementReferenceException - when element is no longer attached to the DOM
TimeoutException - when a command does not complete in a specific time frame
NoSuchWindowException - when the window target to be switched doesn't exist
InvalidElementStateException - when element is in an invalid state for the operation
Q5. What is inheritance and types of inheritance
Inheritance is a concept in object-oriented programming where a class inherits properties and behaviors from another class.
Types of inheritance: single inheritance, multiple inheritance, multilevel inheritance, hierarchical inheritance
Example: Class B inherits from Class A, Class C inherits from Class B, creating a multilevel inheritance
Example: Class D inherits from Class A and Class B, demonstrating multiple inheritance
Q6. TestNG-How to re-run the failed Testcases
TestNG provides the ability to re-run failed test cases using the 'retryAnalyzer' feature.
Implement a custom 'IRetryAnalyzer' class to define the retry logic for failed test cases.
Specify the 'retryAnalyzer' attribute in the @Test annotation with the custom retry analyzer class.
Set the 'retryAnalyzer' attribute to the custom class name in the testng.xml file to apply the retry logic globally.
Failed test cases will be automatically re-executed based on the logic defined in the...read more
Q7. Where we can use final keyboard
The final keyword in Java can be used to declare constants, prevent method overriding, and prevent inheritance.
To declare constants in Java
To prevent method overriding in Java
To prevent inheritance in Java
Q8. Difference between Relative and Absolute xpath
Relative xpath is based on the current position of an element, while absolute xpath starts from the root element.
Relative xpath is shorter and less prone to breaking with changes in the DOM structure.
Absolute xpath is longer and more specific, starting from the root element of the HTML document.
Relative xpath is preferred for dynamic web elements, while absolute xpath is more suitable for static elements.
Example: Relative xpath - //input[@id='username'], Absolute xpath - /htm...read more
Q9. Explain Fluent wait ,implict ,explicit wait
Fluent wait, implicit wait, and explicit wait are different types of wait strategies used in automation testing to handle synchronization issues.
Fluent wait is a dynamic wait mechanism in Selenium WebDriver that waits for a condition to be true with a specified polling frequency.
Implicit wait is a global wait applied to all elements in the WebDriver instance, allowing a certain amount of time for elements to load before throwing an exception.
Explicit wait is a targeted wait f...read more
Q10. Write an Xpath for an Anchor tag
Xpath for an Anchor tag in Automation Testing
Use the 'a' tag in the Xpath expression to target anchor tags
Use '@href' attribute to specify the link of the anchor tag
Example: //a[@href='https://www.example.com']
Q11. Java Program to reverse a string
Java program to reverse a string
Create a StringBuilder object
Use the reverse() method to reverse the string
Convert the StringBuilder object back to a string
Q12. What is Interface in Java
Interface in Java is a reference type in Java, similar to a class, that can contain only constants, method signatures, default methods, static methods, and nested types.
An interface is a blueprint of a class that can have abstract methods and constants.
Interfaces are used to achieve abstraction and multiple inheritance in Java.
Classes can implement multiple interfaces but can only extend one class.
Example: interface Shape { void draw(); }
Example: class Circle implements Shape...read more
Q13. TestNG supports crossbrowser testinh
Yes, TestNG supports crossbrowser testing by allowing the execution of test cases on multiple browsers in parallel.
TestNG allows the use of @Parameters annotation to pass browser type as a parameter to test methods.
TestNG can be integrated with Selenium WebDriver to run tests on different browsers like Chrome, Firefox, and Safari.
TestNG provides the flexibility to run tests in parallel on multiple browsers for faster execution and better test coverage.
Q14. What is interface
An interface in automation testing refers to the point of interaction between two systems or components.
An interface defines the methods that a class must implement, without specifying how they are implemented.
Interfaces allow for loose coupling between different components, making it easier to change or update one without affecting the other.
In automation testing, interfaces are used to interact with the application under test, sending input and receiving output.
Examples of ...read more
Q15. What is polymorphism
Polymorphism is the ability of a function or method to behave differently based on the object it is acting upon.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
It enables a single interface to represent multiple data types.
Examples include method overloading and method overriding in object-oriented programming.
Q16. Explain Selenium Architecture
Selenium Architecture is a framework that consists of different components for automated testing of web applications.
Selenium WebDriver: It is the core component that allows interaction with web elements.
Selenium Grid: It enables parallel execution of tests across different browsers and environments.
Selenium IDE: It is a record and playback tool for creating test scripts.
Selenium RC (Remote Control): It is the predecessor of WebDriver and is now deprecated.
Selenium Server: It...read more
Q17. Explain OOPS concepts
OOPS concepts are fundamental principles of Object-Oriented Programming, including inheritance, encapsulation, polymorphism, and abstraction.
Inheritance: Allows a class to inherit properties and behavior from another class.
Encapsulation: Bundling data and methods that operate on the data into a single unit.
Polymorphism: Ability to present the same interface for different data types.
Abstraction: Hiding the complex implementation details and showing only the necessary features.
Interview Process at TCS
Reviews
Interviews
Salaries
Users/Month