i
HCLTech
Filter interviews by
I was interviewed in Jan 2025.
I applied via Naukri.com and was interviewed in Jul 2024. There was 1 interview round.
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']
Challenges faced in automation project and how they were overcome
Lack of skilled resources - Conducted training sessions to upskill team members
Unstable test environment - Implemented robust error handling mechanisms
Changing requirements - Utilized agile methodologies to adapt quickly
Integration issues with third-party tools - Collaborated with vendors for solutions
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 predeces...
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 paus...
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 ...
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 imple...
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: Relat...
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
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 ma
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 a...
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 Sh...
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 befor...
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 e
What people are saying about HCLTech
I applied via Naukri.com and was interviewed in Mar 2024. There was 1 interview round.
NRI gatherings refer to Non-Resident Indian events where testing tools can be used for automation testing.
NRI gatherings are events organized for Non-Resident Indians to come together and celebrate their culture.
Testing tools are software applications used to automate the testing process of software applications.
Automation testing in NRI gatherings can involve testing event registration websites, mobile apps for event
To debug issues in automation testing, scripts can be used to identify and resolve the root cause of the problem.
Use logging statements to track the flow of the script and identify where the issue occurs
Implement error handling mechanisms to catch and handle exceptions gracefully
Utilize debugging tools provided by the automation testing framework to step through the script and pinpoint the problem
Add assertions in the ...
Performance testing is conducted to collect, analyze, and finalize the purpose of testing the performance of a system.
Collect data on system performance under different conditions
Analyze the data to identify bottlenecks and areas for improvement
Finalize the purpose of performance testing based on analysis results
I applied via Company Website and was interviewed in Oct 2022. There were 4 interview rounds.
Testing interstate related Questions
Testing methods include manual testing, automated testing, exploratory testing, regression testing, and acceptance testing.
Manual testing involves manually executing test cases and recording results.
Automated testing involves using software tools to execute tests and compare actual results with expected results.
Exploratory testing involves exploring the software to find defects and issues.
Regression testing involves re...
Different types of testing include unit, integration, system, acceptance, regression, performance, and security testing.
Unit testing: testing individual units or components of the software
Integration testing: testing how different units or components work together
System testing: testing the entire system as a whole
Acceptance testing: testing to ensure the software meets the requirements and is ready for release
Regressi...
Java, selenium automation testing
I applied via Site and was interviewed before Sep 2023. There were 2 interview rounds.
Python , java, c, c++, c sharp, azure
Arithmetic , reasoning, english, logical, puzzle,
I was interviewed in Jan 2025.
1. Explain about framework architecture and from that all questions derived. asked to write diagram and explain the structure.
2. Difference between class variable and instance variable.
3. what is ITestListener why used and when used in framework.
4. architecture of selenium 4 (geckodriver, chromium driver)
5. what is BDD and cucumber, how both are related to.
6. which kind of framework you go, either POM or Page factory for with testNg/junit?
7. asked to write query on sql joins and how you fetch the second lowest of salary from each department.
8. DDL, DML statements.
9. pathquery and query parameters differences(API)
10. How the responses you are validating in automation framework for Json response file.
11. status code of Https
12. serialization and deserialization difference
13. String Builder, String Buffer and String difference? which is better and which is safe to use.
14. Dropdown in selenium how you handle, how to check which is already selected?
15. multiple data provider in testng and how you pass parameter and how you retrive from excel sheet? Asked to write code!
16.what is flaky testing?
17.Asked to write first code of JDBC connecting establishment with framework.
18. Code execution: input ="aabbabcbb"; output = a:3 , b:5, c:1 like this if they give name also it should count. Tip : HashMap you can write the code.
19. Code execution: a[]={1,2,3,4,0,0,0} b={5,6,7} output need to print as remove all 0's from first array and replace 1,2,3,4 with 5,6,7 some crazy questions.
20. Git cmds and CI/CD tool.
1. asked about architecture and where you used oops concepts?
2. abstract class and interfaces
3. select drop down all options
4. find scrape links from webpage write the code
5. asked for writing xpath for any element random website.
6. asked about following-sibling, descendent and preceding-sibling, normalise-space locators.
7. jdbc connection code.
8. API JSON file - how you done validation in automation testing.
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
A constructor is a special type of method in a class that is automatically called when an object of that class is created.
Constructors have the same name as the class they belong to
They are used to initialize the object's state or perform any necessary setup
Constructors can have parameters to customize the initialization process
Example: public class Car { public Car(String color) { this.color = color; } }
Yes, a static method can be overridden in Java using the concept of method hiding.
In Java, static methods cannot be overridden in the traditional sense like instance methods.
When a subclass defines a static method with the same signature as a static method in the superclass, it is called method hiding.
Method hiding does not follow polymorphism and is resolved at compile time based on the reference type.
Example: class...
Yes, a static local variable can be created inside a static method.
Yes, a static local variable can be declared inside a static method in programming languages like C++.
Static local variables retain their values between function calls.
Example: static void myStaticMethod() { static int count = 0; count++; }
String memory allocation is dynamic and depends on the length of the string.
String memory allocation is dynamic and can change based on the length of the string.
In Java, a String object is stored in the heap memory.
Each character in a String typically takes up 2 bytes of memory.
String objects in Java are immutable, meaning once a String object is created, it cannot be changed.
Yes, you can create a static method inside an abstract class or interface.
Static methods can be defined in interfaces since Java 8.
Static methods in interfaces are used for providing utility methods that are not tied to any specific instance of the interface.
Static methods in abstract classes can be used for common functionality that does not require an instance of the class.
The parent class of Java is the Object class.
All classes in Java are directly or indirectly derived from the Object class.
The Object class is the root class in Java's class hierarchy.
It provides methods that are common to all objects in Java, such as toString(), equals(), and hashCode().
Window Handles in Selenium are unique identifiers used to handle multiple browser windows in a Selenium test script.
Window Handles are unique alphanumeric strings assigned to each browser window opened by Selenium.
They are used to switch between different browser windows during a test script execution.
Window Handles can be obtained using getWindowHandles() method in Selenium.
Example: Set
posted on 10 Nov 2024
I applied via Naukri.com and was interviewed in Oct 2024. There was 1 interview round.
Code to count the occurrences of each letter in a string and print the result
Iterate through each character in the string
Use a dictionary to store the count of each letter
Print the count of each letter at the end
Appium server can be started using command line, programmatically in code, or using Appium desktop app.
Start Appium server using command line by running 'appium' command
Start Appium server programmatically in code using Appium server programmatically in code using AppiumDriverLocalService class
Start Appium server using Appium desktop app by launching the app and starting the server
Tests can be run parallel for mobile devices using test automation frameworks like Appium or Espresso.
Use test automation frameworks like Appium or Espresso to run tests parallel for mobile devices
Leverage cloud-based testing platforms like Sauce Labs or BrowserStack for parallel testing on multiple devices
Implement parallel test execution using tools like TestNG or JUnit in combination with Appium or Espresso
Utilize d...
Automating OTP in mobile involves using automation tools to interact with the OTP input field and validate the received OTP.
Use automation tools like Appium or Espresso to interact with the OTP input field
Extract the OTP from the message received on the mobile device
Validate the extracted OTP with the OTP input field
Handle scenarios where OTP validation fails
Desired capabilities are a set of properties or attributes that define the behavior of a browser or mobile device in Selenium automation testing.
Desired capabilities are key-value pairs that are used to configure the WebDriver instances in Selenium.
They can be used to set properties like browser name, version, platform, and other settings.
For example, setting 'browserName' to 'chrome' will launch the Chrome browser dur
To run tests on iOS or Android devices using Appium, specify the platformName capability in desired capabilities.
Specify platformName capability as 'iOS' for iOS devices and 'Android' for Android devices
Include other necessary desired capabilities like deviceName, platformVersion, appPackage, appActivity, etc.
Example: capabilities.setCapability('platformName', 'iOS');
Setting up automation for iOS devices involves using tools like Appium and Xcode for testing mobile applications.
Install Xcode on your Mac machine
Set up Appium for iOS automation
Connect your iOS device to the Mac machine
Create test scripts using Appium for iOS apps
Execute the test scripts on the connected iOS device
posted on 30 Dec 2024
Reverse a string using Java program and handle stale element in Selenium
Create a Java program to reverse a string using StringBuilder or char array
In Selenium, handle stale element exception by refreshing the element or using WebDriverWait
Example: Java program - input: 'hello', output: 'olleh'; Selenium - handle stale element by refreshing the element before interacting with it
My expected salary is based on my experience, skills, and the market rate for Automation Test Engineers.
I have researched the average salary range for Automation Test Engineers in this location.
I am looking for a competitive salary that reflects my expertise in automation testing.
I am open to negotiation based on the overall compensation package offered.
Some of the top questions asked at the HCLTech Automation Testing interview -
based on 2 interviews
Interview experience
based on 1 review
Rating in categories
Software Engineer
23k
salaries
| ₹1.7 L/yr - ₹8 L/yr |
Technical Lead
21.1k
salaries
| ₹7 L/yr - ₹28 L/yr |
Senior Software Engineer
15.7k
salaries
| ₹4 L/yr - ₹16.5 L/yr |
Lead Engineer
14.9k
salaries
| ₹4.2 L/yr - ₹14 L/yr |
Analyst
14.3k
salaries
| ₹0.8 L/yr - ₹6.5 L/yr |
TCS
Wipro
Accenture
Cognizant