Webinar Alert : Mastering  Manual and Automation Testing! - Reserve Your Free Seat Now

Selenium Interview Questions And Answers

Introduction

There are multiple reasons developers love Selenium: It’s a free testing tool: possesses a huge number of helping communities, and the Selenium tool perfectly blends with various operating systems. It is also compatible with every web browser available. You can write code in different programming languages based on your experience, like Java, C#, Python, Ruby, PERL, etc. The tool also gives distributed testing facility for more accurate or precise results. The Selenium tool is mostly famous for browser-based applications, not API testing or unit testing.

When you want to start your career as an automation tester, Selenium WebDriver is the common topic usually discussed by a recruiter during the interview. This article will discuss some selenium interview questions and answers to assess your testing knowledge of the Selenium tool. So let’s proceed! Here are a few selenium interview questions mentioned below to get you going. 

Why Is Selenium Testing Tool Preferred?

Selenium is an open-source testing tool that uses a single interface to automate web browsers. It uses programming languages like Java, PHP, Python, etc, to run and write its test scripts. Before the selenium testing tool was developed, it would take days to weeks, depending on the size of the testing team, for an end-to-end system test, including enacting and reenacting thousands of test cases on all benchmarked browsers and identifying the source of breakage. 

With the present-time development of the selenium testing tool, running the same test in shorter time frames is now possible. It is now easier and more convenient to run a test for bug-free, deterministic, and instant feedback results. This is why selenium testing has become an integral part of technological development today. This testing tool is now exponentially growing in demand, with an average salary of a selenium tester being $100,000 per year, and is likely to grow in the coming future. Now that you know why selenium testing is so in demand, let's look at some of the frequently asked selenium interview questions to be thoroughly prepared for your upcoming selenium java interview questions rounds. 

Beginner-Level Selenium Interview Questions

Q1). What do you mean by automation testing or test automation?

Ans:- Automation testing automates the manual testing process, which facilitates the creation of multiple testing scripts that can be executed repeatedly without any manual intervention. It refers to the utilization of software devices to automate manual testing methods. It includes writing test scripts that can duplicate user communications with the system, like clicking buttons and giving data, to guarantee that the system works well. 

It enhances the testing methods, decreases errors, and enhances the entire software quality. It is utilized in agile development surroundings when software is required to be tested properly. Learn more about it through the selenium testing webdriver tutorial for beginners.

 automation testing

Q2). Are there any benefits of automation testing over manual testing?

Ans:- The advantages of automation testing are just endless. Here we have discussed some of the major benefits that are usually experienced by testing professionals during the entire process –

  • Automation testing is more accurate and less prone to human errors.
  • It is a faster and more budget solution tool
  • It helps in testing large modules in a limited time span.
  • It allows the facility of parallel execution whenever needed.

Q3). Selenium is a single testing tool, then why is it taken as a suite by professionals?

Ans:- The tools available to work with selenium are specially designed to cater to different testing requirements, so it is taken as a testing package, not only a single tool. It is also taken as a suite by experts because it provides enhanced browser support, refined management of browser plugins, and better security attributes. Besides this, as selenium is an automation testing tool, it enhances the performance and functional efficacy of the web application. This is one of the most important interview questions on selenium.

Q4). What are selenium-supporting testing types?

Ans:- Selenium tool supports two types of testing – Functional testing and Regression testing.

  • Functional testing: It checks whether every function pertaining to the software application works in terms of certain necessities and demands. This testing mainly includes black-box testing, and it does not focus on the source code of the web application.
  • Regression testing: It is an entire partial choice of the previously conducted test cases to be re-executed to guarantee that the present functionalities work properly.

You can learn more about the Selenium Test Case here.

Selenium Test Case

Q5). Are there any drawbacks to the selenium testing tool?

Ans:- The functionality of the selenium testing tool is limited to web applications only. It cannot be used for mobile apps or API testing. Further, the selenium tool does not allow testing Captcha and barcodes. You must have knowledge of some programming languages when working on Selenium. For report generation, you have to use third-party tools. Other drawbacks include:

  • Selenium can only allow the testing of web applications.
  • Selenium does not promote the testing of desktop applications.
  • Selenium can’t test captcha and barcode readers.
  • Users are expected to have advanced programming language insight.

Q6). What do you understand by the term “Selenese”?

Ans:- Selenese is a popular programming language that is used to write test scripts in Selenium IDE. Selenese refers to the range of Selenium commands that is utilized to test the web application. The tester is able to test the torn links, the presence of some objects on the user interface, and many others through Selenese.

It is classified into three parts. They are as follows:

  • Action: They represent the commands that communicate directly with the web application.
  • Accessors: They let the user gather specific values to a user-defined variable.
  • Assertions: These checks the present stage of the web application with an assumed state. 

Q7). How to identify web elements in Selenium?

Ans:- To identify web elements in Selenium, you need to work with locators. They are the address identifiers to identify web elements accurately and more precisely. The most popular locators in Selenium include ID, TagName, CSS Selector, DOM, ClassName, LinkTest, Name, XPath, and many others.

Q8). Explain the meaning of XPath in Selenium.

Ans:- XPath is used to locate elements on web pages based on the XML path of web elements. In other words, locating HTML elements on a webpage is popular. XPath is the navigation device that locates the web element per the respective XML path. XML is the abbreviation for Extensible Markup Language that stores arranges, and shifts arbitrary information. It gathers the information in a key-value pair that resembles HTML tags. 

XPath can locate HTML elements since both are markup languages and are categorized under the same frame. The basic idea behind locating elements through XPath is navigating between different elements over the whole page, allowing the user to search for the element in the context of a different element. 

Q9). How to count the number of elements on a page?

Ans:- To count the number of elements on a page, you first need to locate them and count the final size of the page. The total count of links on the web page can be calculated with the help of the findElements() technique. The plan is to return a range of web elements with tag name anchors and finally attain the size o the list size. The formula n(A U B) = n(A) + n(B) - n(A n B) shows how to count elements in two groups that meet. Venn diagrams are also useful for counting elements on the page when we have more sets. 

Q10). Can you name the popular selenium tool used by large industries worldwide?

Ans:- Selenium Web Driver is a popular testing tool used by big Companies today. It complements various famous web browsers like Google Chrome, Firefox, and Opera. It is a famous component of the Selenium framework. It is a potent tool that helps you automate web browsers. It also helps to write automation scripts in many programming languages and accomplish them on various browsers. 

Few Selenium Automation Testing Interview Questions

Q11). Explain the waiting methods in Selenium Web Driver.

Ans:- The two popular waiting methods in Selenium Web Driver are – implicit wait and explicit wait. The implicit waiting method is used when Web Driver is not able to find elements in the document; then, it waits for a certain time period for the element to appear in the document.

At the same time, the explicit waiting method is an advanced technique that allows developers to write custom codes whenever required.

Q12). Where the implicit waiting method and explicit it waiting method can be used in your script?

Ans:-  The implicit waiting method is time-consuming but suitable for all types of elements, but the explicit wait time is used for selected elements only. Furthermore, implicit wait indicates the Selenium WebDriver to hold on for a specific time prior to throwing an exception. After the period is set, The WebDriver will wait until the exception takes place.

The Explicit Wait command denotes the WebDriver to wait until a particular condition happens before moving towards code execution. Creating Explicit Wait is necessary when there exist elements that consume more time to load. 

Q13). Is there any technique to check whether either button is enabled on the page or not?

Ans:-  For this purpose, you need to use the Enabled() method in your script. The return value of the method would be a Boolean. If the return value is true, the button will be enabled; otherwise, it will not.

Q14). Is there any technique to check whether either particular element is visible on the page or not?

Ans:-  For this purpose, you need to use the Displayed() method in your script. The return value from the method would be Boolean. If the return value is true, the element will be visualized; otherwise, it will not.

Q15). Name the different types of drivers available in WebDriver.

Ans:-  Drivers in a WebDriver refers to the web automation structure that helps us to perform test over different browsers. It can perform various tests over millions of browsers on different operating systems. The various drivers present in WebDriver are Chrome, Firefox, Safari, Internet Explorer, iPhone, Android, HTML Unit, Opera Drivers, etc.

Q16). Name the different types of mobile testing drivers supported in WebDriver.

Ans:-  WebDriver helps the user to execute web-based mobile testing, and AndroidDriver and IphoneDriver support the same. Selenium is also utilized to automate web browsers. It is mainly utilized for cross-browser testing of web applications. The various type of mobile testing drivers supported in WebDriver is iPhone, Android, Opera Mobile Drivers, etc.

Q17). Name the programming languages that Web Driver uses to write the test cases.

Ans:-  The programming languages that Web Driver utilizes to write down the test cases include  PHP, Python, Ruby, C#, PERL, Java, etc. Selenium WebDriver is an automation of API that tests any web browser like a user, and it’s often acclaimed as being more renowned than other web automation tools as it offers a huge array of language and framework alternatives to the users t write test scripts. The most popular frameworks supported by Selenium include JUnit, TestNG, RSpec, and others.

Q18). Do you know the difference between asserting and verifying commands in Selenium WebDriver?

Ans:-  Assert command and verify commands both will check the conditions for Boolean values. If the condition is false, then the assert command will halt the program but verify command does not halt the program but takes it to the next phase of execution.

The Assert commands state that the execution of the specific test method is paused when the authentication fails; therefore, the test method is declared failed. Still, the verify command suggests that the test method keeps on executing in spite of the failure of the assert command. 

Q19). Explain the difference between"/" and "//"in XPathSelenium Web Driver.

Ans:-  As we have discussed already, XPath is used to locate elements on web pages based on the XML path of web elements. Like UNIX, Linux, or any other programming language, a single slash ("/") represents an absolute path, while a double slash ("//") in XPath represents a relative path.

Q20). Name the different types of annotations used in Selenium WebDriver.

Ans:- TestNG annotations are meant to define a group of code entered into the program or business idea utilized to manage the flow of methods in the test script. They turn the Selenium test scripts into more handy and organized ones. Utilizing the annotations is immensely beneficial for testers making their daily work much simpler. The popular annotations used in Selenium WebDriver include After, Before, Test, Ignore, AfterClass, BeforeClass, and RunWith.

Few Java Selenium Interview Questions

Q21). Which selenium technology is useful for distributed data processing?

Ans:- Selenium Grid is a popular technology used for distributed data processes that distribute tests on multiple machines in parallel. In other words, a single script can execute tests simultaneously on different operating systems and web browsers. Distributed data processing in Selenium not only reduces overall execution time, and feedback is also quick.

Q22). How will you check the result of text execution in Selenium IDE?

Ans:-  Selenium IDE (Integrated Development Environment) is basically a run tool that a test case programmer utilizes to create Selenium Test cases. It is a simple tool available from the Selenium Test Suite that can be used by anybody who wants to generate automated test cases. The result for text execution in Selenium IDE is displayed in Log Window. While running the test through Selenium IDE, we can search both the script panel and the log panel to fetch q rapid idea as to the result of the test run.

Q23). How can you modify test cases in Selenium IDE?

Ans:-  Obviously, test cases can be modified in Selenium IDE by table views or by looking up the source code. If you wish to create test cases in Selenium IDE, then you need to follow these steps:

  • Enter commands. Launch Firefox and then tap on the Selenium icon visible in the top right corner of the web browser.
  • Enter Commands and tap the “Add new test” button at the test case window. You can also rename the test case as per your choice. 

Q24). Explain the significance of JUnit in the Selenium testing tool.

Ans:-  JUnit is an open-source framework introduced by Apache to test Java applications. A few JUnit annotations include Test, Before, After, Ignore, BeforeClass, and AfterClass. JUnit Testing helps programmers to produce highly dependable and error-free coding. It also plays a vital role in regression testing. Regression Testing is the kind of software testing that verifies whether the current modifications performed on the code do not influence the earlier written code. 

Selenium testing tool

Q25). How to add meta-data in the JUnit selenium testing tool?

Ans:-  JUnit Annotations is a special process to add syntactic meta-data to Java code. Some of the popular examples of JUnit annotations include variables, parameters, classes, methods, etc. Metadata comprises the locations and definitions of warehouse items, including the warehouse's names, descriptions, frameworks, and content. Detection of validated data sources and unification and conversion of rules to occupy the data are also included in the metadata. 

Q26). How will you explain the difference between quit () and close () methods in Selenium?

Ans:-  The quit () method ends all the browsers running in Web Driver, while the close() method ends the current browser only. The Quit() method closes the driver, thereby closing all the connected windows. The close() method closes the presently opened window pane, closing the driver if the present window is the only open window.

Q27). Why was the concept of the waiting method introduced in Selenium? Name the type of waits in Selenium.

Ans:-  The waiting methods were specially introduced for AJAX-based apps in Selenium WebDriver. The two popular types of waits in Selenium are names as Implicit waits and Explicit waits.

Implicit wait: These waits offer a default waiting duration, for example, 20 seconds between the simultaneous test stages over the whole test script. So the next test step will be performed when the 20 seconds are finished after performing the earlier test step.

Explicit wait: These are meant to stop the execution unless a certain criterion is satisfied or the highest time has been over.

Q28). Is there any drawback to implementing implicit waits in Selenium?

Ans:-  The major drawback of implementing implicit waits in Selenium is exceeding time limits. It slows down the overall performance of test cases. Hence a major drawback of implementing implicit wait in Selenium is that it elongates the run time of the tests. It deteriorates the test performance also.

Q29). Why do Selenium tools fail sometimes?

Ans:-  Selenium testing is slow as compared to other automated testing tools. Another major problem in complex ID generation where auto-generated ID can result in test case failure during playback. Selenium tools also fail due to various technical disadvantages, such as the following:

  • It is a web-based driver and does not complement Windows-based applications.
  • We can’t test desktop apps because they cannot perform with Android or IOS.
  • Proper and correct reports cannot be generated through Selenium tools.
  • Automating an ordinary or confirmation notification pop-up using Selenium tools is hard.

Q30). Name the four parameters that have to be passed in Selenium.

Ans:-  These parameters are a Port number, Host, URL, Browser, and Port number.  Parameters are used because they allow us to run a function multiple times with various values and also run various functions with identical values. Inserting various values in the input box can be classified as an example of utilizing the parameters in TestNG, and the parameters transfer the values during the run time. 

Q31). What do you mean by Selenium?

Ans:-  Selenium is a free automated testing structure meant to authenticate web applications over millions of browsers and mediums. Selenium Test Scripts may be coded in many programming languages, such as Java, C#, etc. Selenium Testing refers to the testing performed utilizing the Selenium Testing tool.

Selenium Software is the range of tools that meet a certain need of the company’s Selenium QA testing demands.

Q32). Comment on the Selenium suite components.

Ans:-  Selenium refers to the package of various testing tools. It is also called a Selenium Suite, where every tool is created to meet unique testing criteria. The various components in a Selenium suite include:

  • Selenium Integrated Development Environment (IDE): This is a Firefox plug0 which is created to boost the development of automation scripts by tracking the user activities on the browser and transferring them as a reusable script.
  • Selenium Remote Control (RC): This denotes the server that allows us to create test scripts in their selected programming language. It intakes commands from the test scripts and transfers them to the browser as Selenium core JavaScript commands.
  • Selenium WebDriver. This programming medium generates and runs test cases by interacting with the browser and utilizing its naive adaptability to automate. It does not need an extra server to generate and run test cases.
  • Selenium Grid: This promotes the simultaneous conduction of tests on various browsers by sending commands to different machines.

Q33). Mention the benefits of utilizing Selenium as an automation tool.

Ans:-  The benefits of using Selenium as an automation device are listed below.

  • Open-source: The prime benefit of Selenium is that it is free and portable. It can be downloaded easily, and we can also avail of community-based assistance.
  • Language assistance: Languages like Java, Python, C#, and others are validated by Selenium. It possesses its own script, but it is not restricted by it. It can combine with many languages per the developer’s taste and choices.
  • Suitable with many operating systems: Selenium can run on various operating systems such as Windows, Mac OS X, Linux, and others. A personalized testing suite can be built and executed on a different one through the Selenium suite.
  • Browser adaptability: It is compatible with many web browsers like Internet Explorer, Chrome, and Firefox. 
  • Daily updates: Selenium support lies in a community that promotes daily updates and refinements. These updates can be installed easily without any extra training. 

Q34). Why should you choose Selenium as a testing tool for web applications?

Ans:-  Selenium must be chosen as a testing tool for web applications because of the following reasons:

  • It is free of cost with a huge user base and assists in offering community.
  • It has cross-browser adaptability and assists browsers such as Chrome, Firefox, and Safari.
  • It supports various operating systems like Windows, Linux, and others.
  • It promotes the usage of various programming languages such as Ruby, Python, and Java.
  • It gives support for distributed testing.

Q35). Distinguish between Selenium 2.0 and Selenium 3.0.

Ans:- Selenium 2.0 refers to the tool that makes the creation of automated tests for web browsers simpler and more compatible. It indicates the connector of the real Selenium project with the WebDriver project. Selenium RC got deplored because the connector was utilized for backward adaptability.

Selenium 3.0 refers to the extended version of the previous one. It is genetically backward compatible and it does not include Selenium RC. The modified version was introduced with various bug fixes and better stability.

Q36). What does the same-origin policy mean, and how is it managed?

Ans:-  Same-origin policy refers to the feature enabled to meet the security objectives. The policy denotes that a web browser lets the scripts avail the contents from one webpage to another such that both pages possess identical origins. The origin is an amalgamation of the URL scheme, hostname, and port number. 

The same-origin policy avoids a suspicious script on a web page to access private information on a different webpage.

Q37). What are the various kinds of web locators?

Ans:-  Locator refers to the command that instructs Selenium IDE which Graphic User Interface components, including Text Box, Buttons, and others, it must operate on. Locators also denote the place of action. The various kinds of web locators are:

  • Locator by ID: It intakes a string parameter representing a value of the ID attribute that returns the object to the findElement() method.
  • Locator by the link: When the aimed element is a link text, we may use the by.linkText locator to locate the element.
  • Locator by Partial link: The aimed link can be located utilizing an area of text in a link text element.
  • Locator by Name: The initial element with the name attribute value complementing the location can be returned.
  • Locator by TagName: Locates each element with the complementing tag name.

 

Q38). What do you mean by an exception test in Selenium?

Ans:-  The exception test in Selenium refers to the exception that we assume will be included within a test class. Suppose a test case has been written in a way that it must be thrown in the form of an exception, then the test annotation can be utilized, and the exception in the parameters may be denoted.

Q39). Do you think that Captcha can be automated?

Ans:-  No, it is not possible for Selenium to automate Captcha. The entire concept of Captcha is to guarantee that bots and computed programs do not avail private data. This is the reason that Selenium cannot automate Captcha. The automation test engineer must manually enter the captcha, but the rest of the fields can be filled by themselves.

Q40). What do you mean by a WebElement in Selenium?

Ans:- The WebElement in Selenium refers to an interface in Selenium that indicates an HTML element on a web page. It offers methods to communicate with the web elements, including clicking, providing text, and attaining value. It is also utilized to detect and manipulate the web elements in the computational testing method.

Q41). Explain the term assertion in Selenium.

Ans:-  An assertion refers to the process of testing if a certain condition is true or false. Assertions in Selenium are utilized to check the state of elements on the webpage or the outcome of an activity. Assertions can be utilized to verify the availability or absence of the element, the value, or the content of the element. Assertions are also used to verify whether the lament is exposed or hidden.

Selenium

Assertions are a vital section of testing with Selenium since they help us verify that the state of the application fulfills the demands. In the absence of assertions, it will be hard to determine if the tests are a success or failure. 

Q42). What is the meaning of XPath Absolute and XPath attributes?

Ans:-  The two vital expressions of Xpath are absolute and relative. Absolute expressions begin with a forward slash (/) that denotes the original element of the document. Relative expressions do not begin with a forward slash and are connected to the present context.

Attributes form a major part of XPath. They are incorporated into the elements and may comprise important data related to that element. We need to use the sign with the attribute name to avail the attribute.

Q43). What is the way to redirect browsing from a browser with the help of a proxy?

Ans:-  There are some ways to redirect browsing from a browser with the help of a proxy. The first way out is by utilizing a web proxy. Web proxies are utilized to access websites that might be inaccessible by the network administrator. 

A second method to redirect browsing is using the Virtual Private Network (VPN). VPNs are utilized to encrypt the web traffic and direct it by a proxy server. Lastly, the browser extension can be used to redirect the traffic. They are helpful when a proxy server can be bypassed, which is configured in the network settings.

Q44). What are the kinds of listeners in TestNG?

Ans:-  The three kinds of listeners supported by TestNG are as follows:

  • Test listeners: It listens to the test conduction and helps us execute actions prior to or post a test case is conducted.
  • Suite listeners: It listens to the suite execution and helps us do the required activities prior to or post the suite is executed.
  • Method listeners: It listens to the conduction of each test method and helps us perform activities before or post a test method is conducted. 

TestNG

Q45). What do you mean by Jenkins, and state the benefits of utilizing it with Selenium?

Ans:-   refers to the servers meant to automate the process of software development. There are various benefits to using Jenkins with Selenium:

  • Automatic triggering of Selenium tests when code modifications are given to the repository.
  • Simultaneous conduction of Selenium tests on various machines to lessen the execution period.
  • Association with various tools to offer notifications and status upgrades.

Q46). Explain the Page Object Model and the respective benefits.

Page Object Model refers to the design structure that is sued to make object repositories for the web User Interface components. Each web page embedded in an application possesses a respective page class that executes the task of locating the web elements and carrying out respective actions.

The benefits of the Page Object Model are listed below:

  • It gives assistance to divide operations and flows on the user interface from verification, thereby upgrading code readability. 
  • Since the object repository is free from test cases, various tests can utilize the identical object repository.
  • It boosts code reusability.

Q47). Explain data-driven framework and keyword-driven framework.

Ans:-  Data-driven framework refers to the way of splitting a dataset from the real test case. This framework is totally reliable on the input test data. The test data is provided from outer sources like MS Excel or another database. It lets us smoothly handle the amount of data required to be tested. We can also escalate the count of test parameters by inserting greater username and password fields into the file.

A keyword-driven framework refers to the extended version of the data-driven testing framework such that it divides the test data from the script and maintains the specific portion of the code, adhering to the test script in the outer file. The range of codes is called keywords. They are self-guiding and perform the type of actions that must be executed on the system.

Q48). What do you know about a Selenium Maven project?

Ans:-  A Selenium Maven project is a Java project incorporating Maven as a creator tool and Selenium WebDriver to automate web browser testing. Maven denotes an efficient tool to handle reliabilities and create Java projects, and it makes the method of configuring Selenium WebDriver very easy and simple.

It also allows the programmers to build a framework for the project, with source code and resource files, and automate the creation method. This makes it simple to distribute and cooperate on the Selenium project.

Q49). Mention the various frameworks in Selenium.

Ans:-  The various frameworks in Selenium are listed below:

  • Module-based testing framework segregates the whole application under test into various logical and separate modules. A unique test script is built for every module. When the test scripts are amalgamated, it creates a huge test script showing more than a module.
  • Library architecture testing framework: Here, we separate the applications into functions, especially common functions that various parts of the application may utilize. So we build a common library with common functions that can be called as necessary from the test scripts.
  • Hybrid testing framework: This is an amalgamation of more than a testing framework. The greatest benefit of this framework is that it offers the advantage of every type of testing framework.
  • Behavior-driven development framework: This helps in the automation of functional authentications in a simple and comprehendible manner for Business Analysts and programmers.

Q50). What is meant by breakpoints and start points?

Ans:-  Breakpoints are needed to hinder the execution of the test. The execution will halt when a breakpoint is introduced, allowing us to see if the code works correctly. Start points refer to the beginning point of the execution of a test. They are utilized when we wish to run the test script from the midpoint of the code or after the breakpoint is given. 

Q51). What is the necessity for session handling in Selenium?

Ans:-  Session handling is important in Selenium because, during the execution of a test, Selenium WebDriver must communicate with the web browser every time to perform the stated commands. Also, before the present execution is over, another person begins the execution of a different script in that machine and in the same browser. To evade such circumstances, session handling is a must.

Q52). How do you manage Windows-based popups in Selenium?

Ans:-  Selenium entirely supports web application testing. It does not assist the Windows-based application testing or any kind of Android application. However, to manage Windows-based popups, third-party interference is needed. A few examples of third-party devices that may be used with Selenium to manage Windows-based popups include Autolt and Robot Class.

Q53). How will you tackle synchronization problems in Selenium WebDriver?

Ans:-  Synchronization problems may occur when the test script proceeds quickly, and the web page is unprepared for the next process. Various kinds of waits, including Explicit Wait or Fluent Wait, can be used to manage synchronization problems in Selenium WebDriver. The Thread. Sleep () technique can also be used to halt the execution of the script for a certain period, but this process must be used occasionally as it can slow down the script.

Q54). What do you mean by Cucumber?

Ans:-  Cucumber refers to the BDD testing device allowing programmers to pen test cases in a normal language pattern that non-technical stakeholders can comprehend. It complements various programming languages such as Java, Ruby, and others and can be unified with many testing frameworks, along with Selenium WebDrievr. 

It lets the programmers create valid specifications in a readable way and automate the testing method. It allows the programmers to cooperate and interact properly with the team involving product owners and testers.

Q55). How will you execute Cross browser testing through Selenium?

Ans:- Cross-browser testing in Selenium means running a duplicate range of tests on various browsers to ensure the application is suitable and works well on multiple browsers. The ways to execute cross-browser testing are as follows:

  • Using various browser drivers: Selenium WebDriver assists various browser drivers, including ChromeDriver and FirefoxDriver, to execute tests on multiple browsers. 
  • Using Selenium Grid: It lets you run the tests on various machines and browsers together. The test can be executed on various browsers that also boost cross-browser testing.
  • Using Cloud-based testing mediums: They offer a method to perform Selenium tests on a huge range of browsers and operating systems. You can run the test on actual devices to guarantee that the application is perfect in every environment. 

Q56). How will you run Selenium tests in parallel?

Selenium Tests can be run in parallel, and it can refine the test execution period and lessen the total test suite time. The individual must know how to create a Selenium grid or handle a cloud-based testing service to run Selenium tests in parallel in various machines or web browsers.

Q57). What is the way to manage dynamic dropdowns for Selenium WebDriver?

Dynamic Dropdowns refer to the dropdowns where the options alter according to the choice made in a separate dropdown. We can manage dynamic dropdowns in Selenium WebDriver by initially locating the parent dropdown and choosing an option from it. After that, we must wait for the child dropdown to be occupied with fresh options prior to locating and choosing an option from the Selenium WebDriver.

Q58). How can you automate a web application that utilizes a CAPTCHA to avoid automated access?

CAPTCHA refers to a famous security mechanism that calls for users to show that they are not robots.

To automate a web application that utilizes CAPTCHA to evade automated access, the below-mentioned steps can be followed:

  • CAPTCHA-solving service: Numerous third-party tools provide CAPTCHA_solving solutions. They utilize ML algorithms to solve CAPTCHAs. These can be incorporated into the automation script and used to decode the CAPTCHA.
  • Train an ML model: ML can be sued to train a model to detect and decode CAPTCHAs. This calls for a huge dataset of CAPTCHA images, respective solutions, and proficiency in ML algorithms.
  • OCR method: Optical Character Recognition (OCR) method may read and detect the characters in CAPTCHA images. This needs a top-quality image and proper OCR software, but it can be a feasible solution for a few CAPTCHAs.

Q59). What do you mean by Behavior Driven Development (BDD)?

Ans:-  BDD refers to the agile software development style that concentrates on stating the behavior of a software application so that it is comprehendible by every stakeholder, developer, and business class. It relies on Test Driven Development principles but focuses on cooperation and interaction among teammates. It utilizes usual language descriptions of attributes and scenarios to state the assumed software behavior.

Q60). What do you mean by a DesoredCapabilities class in Selenium?

Ans:-  The Desiredcapabilties class refers to an area of the Selenium webDriver API and is utilized to configure the potential of a WebDriver instance. It is especially a range of key-value pairs that indicate the numerous properties of the web browser that the Selenium WebDriver will incorporate to execute the tests. Examples of the features that can be set through DesiredCaabilties are browser type, version, and platform. 

Q61). Explain what you mean by Gherkin.

Ans:-  Gherkin refers to an easy and usual language syntax meant to define the behavior of a software application so that it is comprehendible by non-IT stakeholders. It is used along with Cucumber to state a software attribute's acceptance criteria and environment. It employs keywords like Given, When and Then to highlight the stages of the scenario in a precise method and lets the programmers to pen down executable instructions that are understood fluently. 

Q62).  What do you mean by heightened privileges browsers?

Ans:-  Heightened privileges browser is identical to Proxy injection that lets the websites perform an action that is not usually allowed. The main distinction is that the browsers are established in a unique mode known as heightened privileges. This browser allows the Selenium core to open the AUT and read or write the content without transferring the entire AUT through the RC server of Selenium.

Q63). What do you mean by Object Repository?

Ans:-  An object repository refers to a special entity in any user interface automation that lets a tester gather every object that will be utilized in the scripts in a single or more concentrated location and not distributed everywhere on the test scripts.

Q64). What are the benefits of using WebDriver rather than Selenium Server?

Ans:-  The benefits of WebDriver over Selenium server are as follows: 

  • While using Selenium-WebDriver, Selenium Server is not required because it deploys an entirely separate technology.
  • Selenium Server offers Selenium RC functionality that is utilized for Selenium’s original version backward compatibility.
  • Selenium Web driver creates direct calls to the web browser utilizing every browser’s original support for automation. Still, Selenium RC needs a Selenium server to insert javascript into the web browser. 

Q65). What are the disadvantages of Selenium IDE?

Ans:-  The disadvantages of Selenium IDE are as follows:

  • It does not support exception handling.
  • It deploys HTML languages only.
  • Selenium IDE does not support reading external databases.
  • It does not complement reading from external files.
  • It also does not allow the execution of conditional statements.

Q66). What is the way to debug the tests in Selenium IDE?

Ans:-  The steps to debug Selenium IDE tests are mentioned below:

  • Enter a breakpoint for the place where you wish to perform step-wise.
  • Now run the test case.
  • Execution will be stalled at the specified breakpoint.
  • Click on the Blue button to proceed to the following stage.
  • Click on the run button now to run the command.

Q67). What do you mean by regular expressions?

Ans:-  A regular expression refers to a unique text string deployed to define a search algorithm. A Regular expression can be utilized in Selenium IDE with the keyword - regexp: indicating a prefix to the value and style that can be added to the assumed values.

Q68). What is the objective of using Selenium RC?

Ans:-  Selenium IDE cannot support numerous functions, including condition statements and logging or reporting the test outcomes, along with unexpected error handling because Selenium IDE complements only HTML language. These issues can be resolved by deploying Selenium RC (Remote Control) complements various languages, including Perl, Ruby, and Python. They help us write the program and attain the IDE goals.

Q69). Mention the benefits of Selenium RC.

Ans:-  The benefits of Selenium Rc are as follows:

  • Able to read or write data from files.
  • It can manage dynamic objects and Ajax-based User Interface elements.
  • Selenium RC includes loops and conditions that can be utilized for optimized performance and compatibility.
  • It complements various operating systems and programming languages.

Advanced Level Selenium Interview Questions

Q70). Why should you choose Python rather than Java in Selenium?

Ans:- The reasons for choosing Python over Java in Selenium are as follows:

  • Java programs run slower than Python programs.
  • Java deploys conventional techniques to begin and terminate blocks, but Python utilizes indentation.
  • Java uses static typing, but Python is typed firmly.
  • Java is more complex as compared to Python.

Q71). What are the benefits of utilizing Git Hub in Selenium?

Ans:-  The benefits of deploying Git Hub in Selenium are as follows:

  • Various individuals can upgrade the project information and notify other teammates parallelly when they work on the same project.
  • Jenkins also lets you create the project from the remote repository daily. This way, you can also maintain a record of unsuccessful creations. 

Q72). What is meant by a fluent wait?

Ans:-  A fluent wait refers to the kind of wait where we can instruct and state the polling intervals that implies the time period after which the driver will try detecting the components when not located, with the maximum timeout value.

Q73). What do you mean by a Page Factory?

Ans:-  Page Factory provides an optimized method to use the Page Object Model. When stating that it is optimized, it means fact that the memory usage is efficient and the utilization is performed in an object-oriented technique. Page Factory is meant to initialize the components of the Page Object. Annotations for elements can be built since the defining properties may not be defining enough to distinguish two objects. 

Q74). What do you mean by a robot class?

Ans:-  The robot class gives control over the mouse and keyboard tools. The techniques involve:

  • KeyPress(): This technique is required when we wish to press a random key.
  • keyRelease(): This technique is needed to release the pressed key on the keyboard device.
  • MouseMove(): This technique is needed when we have to move the mouse pointer in the X and Y axis.
  • MousePress(): This technique is needed to press the left button of the mouse device.
  • MouseMove(): This technique assists in releasing the pressed button from the mouse.

Q75). Elaborate on the history of Selenium.

Ans:-  Selenium refers to the most renowned automated testing suites. It is a playback device meant to execute functional testing irrespective of any insight into the test scripting language. It is a free web user interface automation testing suite created by Jason Huggins in 2004 at ThoughWorks. 

Q76). Why should TestNG be used with Selenium RC?

Ans:-  We need to cite the test cases from the command line in case the demand of the automation test suite is meant to perform against the various servers and client platforms. We also require the test case outcome reports at certain time intervals to evaluate the assumptions and use the compatibility to build the tests. TestNG facilitates such type of testing. 

Q77). What is the reason for using headless drivers?

Ans:-  Headless drivers are mainly utilized in constant integration arrangements. Headless drivers, like PhantomJS, offer every standard web browser functionality but execute in the command line. The headless drivers depend on command-line tools and do not create screen output, making them perfect for automated arrangements. The programmers must execute the mechanism to get screenshots or depend on command line output to probe deeper into test failures.

Q78). State the major difference between the driver. Close () and driver.quit() commands?

Ans:-  The close() method drops the presently accessed window by the WebDriver. The command does not need a parameter, and it does not return a value. However, the driver.quit() method is meant to close down every window the application opens. Similar to the driver.close() command, the quit() method does not need parameters and does not possess any return value.

Q79). Mention the different types of navigation commands in Selenium.

Ans:-  There are 4 navigation commands in Selenium. They are:

  • navigate().back()- It returns the user to the earlier webpage according to the web browser history. It does not call for any parameters.
  • navigate().forward()- It navigates the user to the following web page embedded in the web browser history. It also does not need any parameters.
  • navigate9).refresh()- It reloads every web element by refreshing the present webpage and does not need any parameters.
  • navigate().to()- It allows the user to launch a fresh web browser window and reach the certain URL provided as a parameter.

Q80). Which browser complements Selenium IDE utilization?

Ans:-  The browser that complements Selenium IDE usage is Firefox and Chrome. Since Selenium IDE is community-built, it must also be stated that daily upgrades and suitability with the latest browser versions can’t be guaranteed. In 2017, when Firefox’s version became obsolete, users moved to Katalon Recorder, which supports those commands and modern test reporting mediums with TestOps. 

Q81). Explain what you know about a node in Selenium Grid.

Ans:-  Nodes refer to the Selenium instances that are joined to the Hub that conducts the tests. There might be a single or more node in a grid that can pertain to any operating system and comprise any Selenium-supported web browser. A node in a Selenium grid refers to the conjunction of the row and column in the Selenium grid. Every grid is denoted by a Z value that shows the height of the grid at that certain point. The grid node is depicted with a black ‘+” in the editor pane. 

Q82). How will you manage intricate web elements in Selenium?

Ans:-  If we wish to manage and automate intricate web elements like iframes or pop-ups in Selenium, we must detect the element through proper locators like ID or XPath. In the case of iframes, move to the frame utilizing the driver’s switchTo() method. Deploy the Alert class to manage the pop-up window in case of pop-ups. You can deploy the Actions class to execute drag-and-drop operations in case of drag-and-drop elements.

Q83). Can you implement AI and ML methods in Selenium?

Ans:-  AI and ML methods can boost the speed and precision of Selenium tests by utilizing Natural Language Processing or Computer Vision to compute test cases and produce beneficial outcomes. Deploying AI and ML methods in Selenium is unusual because it is mainly a testing device. 

However, few AI and ML methods can be utilized in addition to Selenium to speed up the testing procedure. Suppose image identification can be utilized to detect user interface elements and natural language processing can be utilized to create test cases from user stories. 

Q85). What is the way to execute performance testing in Selenium?

Ans:-  Performance testing measures the web application’s response duration, throughput, and elasticity under various loads and pressure levels. Suppose you wish to execute performance testing in Selenium. In that case, load testing tools can be used, like JMeter or LoadRunner to reproduce heavy user traffic and assume the performance of the web application. 

Selenium scripts can be unified with the performance testing tools to duplicate actual user behavior and produce laid on the web application. Performance testing tools also detect loopholes and parts of optimization in the web application.

Q86).  What is the way to unite Selenium with Jenkins or TestNG?

Ans:-  Uniting Selenium with different testing devices and structures to refine the automation workflow and produce beneficial reports and measurements is possible. Selenium can be integrated with various testing tools like Jenkins or TestNG by configuring the testing devices to perform with Selenium. 

This is done by adding Selenium libraries to work and creating test configurations to execute Selenium tests. The integration also helps to automate testing and reporting, and TestNG offers modern features like grouping and simultaneous execution.

Q87). What is the way to manage security testing in Selenium?

Ans:-  Security testing in Selenium means testing the web application’s weaknesses and loopholes like XSS, CSRF, or SQl to guarantee that it fulfills the security regulations and norms. While managing security testing in Selenium, it is vital to examine the loopholes and weaknesses like Cross-site scripting, injection weakness, and poor validation. The vulnerabilities can be tested by utilizing security testing tools with Selenium. Executing safe coding measures and guaranteeing that the inputs and outputs are authenticated can help evade effective security faults.

Q88). What is the method to execute a hybrid framework in Selenium?

Ans:-  A hybrid framework refers to the amalgamation of various design structures and styles like data-driven, keyword drove, and others meant to refine the modularity, reusability, and conservation of Selenium tests. If we wish to execute a hybrid framework in Selenium, we must first detect the various tests needed, like functional or regression. This process will be followed by generating a modular test script through a blend of data-driven and keyword-driven styles. 

These scripts can be tackled by a test management device and implemented by a test runner. Executing a reporting mechanism can offer proper knowledge of the test reports and help fix bugs.

Q89). Elaborate on the working of Selenium under the hood.

Ans:-  A professional Selenium programmer must properly understand how Selenium communicates with browsers commands, and fetches outcomes through the WebDriver API. Selenium is a range switch meant to automate web browsers. Selenium WebDriver is the common tool that interacts with the web browser through various interfaces, replicating user communications with the web browser.

The commands are delivered to the browser-instructed driver, which converts them into browser-instructed activities. Selenium WebDriver also involves various APIS meant to communicate with web page elements, and Selenium is used to automate functional testing and perform various web automation projects.

Q90). How can you guarantee the stability of the Selenium tests?

Ans:-  Selenium tests can be sensitive and succumb to failures due to different factors like browser versions, network errors, and modifications in the application under test. If we wish to guarantee the stability of the Selenium tests, utilizing robust and proper test code to manage huge alterations to the web application is mandatory. This means deploying proper selectors, modifying the test code, and decreasing the usage of complex-coded values.

Q91). How will you manage a situation where a web browser utilizes third-party plugins?

Ans:-  Third-party plugins can produce adaptability problems during the automation of web applications. To manage a situation where the web application utilizes third-party plugins, it is necessary to guarantee that the web application can well-interact with the plugins and manage any adaptability problems that emergeTesting must handle situations such as browser version differences and operating systems that affect the utilization of the plugins.

Q92). How can a case be managed when the web application utilizes security mechanisms?

Ans:-  Security mechanisms are a vital part of web applications. To manage a case where the web application utilizes security mechanisms, it is necessary to guarantee that the web application executes the mechanism correctly and tackles every security-related problem that comes to light. Testing must handle cases like safe interaction over HTTPS and guarantee that user details are well encrypted and stored safely.

Q93). How to manage a case where a web application utilizes browser-specific characteristics?

Ans:-  Browser-specific characteristics can produce adaptability problems when automating web applications. To manage such cases, it is beneficial to guarantee that the web application can interact well with the web browser and manage any emerging compatibility problems. Testing must deal with cases like browser versions and security setups that can affect the features’ usage. 

Q94). How will you manage a case where the application has various languages and needs localization testing?

Ans:-  Localization testing is vital when the web application is utilized in different languages. The following process must be performed to manage a case when the application has various languages and needs localization testing. 

The web application must complement localization through language packs or resource files that can be examined to guarantee that translations are correct and proper over various languages. The web applications’ user interface must be tested to guarantee that they are flexible with various character sets and layouts of various languages.  

Q95). How can you optimize the Selenium scripts for better performance?

Ans:-  Selenium scripts must be optimized for speed and better performance to lessen implementation duration. A step that can be taken is to reduce the count of page refreshes and wairs and rather utilize conditional waits that are enhanced by certain page elements. Headless browsers can also run the tests simultaneously, decreasing the entire test run time.

 The amount of data can be lessened between the web browser through proper selectors and by lessening useless data requests. Decreasing useless logging and optimizing the test environment can refine the work of Selenium scripts.

Q96). How to manage a case when the web application utilizes AJAX calls to upgrade the UI?

Ans:-  AJAX calls can make the web application vigorous but also generate problems during the automation. To manage the case when the web application utilizes third-party APIs, it is vital to guarantee that it can communicate well with external applications and manage emerging errors. 

The application must also tackle validation to avail of external services. Correct management of errors can detect underlying problems with third-party applications, and daily testing guarantees that the application is performing well.

Q97). How to deal with a case when the web application utilizes intricate data structures?

Ans:-  While handling a web application that utilizes intricate data structures like trees or graphs, it is necessary to gain a deep knowledge of the inherent data structure and its relation to the web application’s functionality.

 Executing proper algorithms and data modules to use and navigate these data algorithms is important for optimal performance. Also, correct testing and error management must be carried out to guarantee data coherence and evade strong problems with memory designation and resource allocation.

Q98). How to manage the case when the web application possesses potent URLs?

Ans:-  Potent URLs can be harmful to testing because they modify very often. When handling a web application with potent URLs, it is necessary to execute a proper and logical URL framework that is simple and convenient for the users and search engines to comprehend.

 This can be obtained by utilizing descriptive keywords in the URL and executing URL rewriting methods to guarantee that the URLs are neat and proper. Implementing canonical tags and creating correct redirections can reduce the problem of replicated content and torn links.

Q99). How do you manage a case when the web application needs user validation before accessing specific pages?

Ans:-  User validation is a basic necessity in web applications and testing and needs a particular approach. To manage a case when the web application needs user validation prior to accessing a few pages, the application may execute a login method that checks the user details and provides access to valid users. This may include safe validation methods involving password hashing and cookies to preserve user sessions. Testing must guarantee that specific valid users can access the web pages only.

Q100). How will you test an application utilizing WebSocket?

Ans:-  WebSocket has become highly famous in web applications, and testing the same needs a certain style. We can utilize tools like Fiddler or Wireshark to observe and evaluate the WebSocket traffic. Testing frameworks like JMeter and Gatling are also helpful in replicating huge amounts of WebSocket traffic and testing the application’s working under stress levels. Manual testing may be performed by producing various cases and ensuring the WebSocket link is launched well.

Q101). How to test a web application utilizing a single-page web application?

Ans:-  Single-page application frameworks are gaining popularity, and a varied testing approach is needed rather than conventional web applications. We can utilize a blend of manual and automated testing methods. Manual testing may include running functional tests to guarantee that the application performs well. Automated testing may be performed through tools such as Selenium, Cypress, and others to test the web application's functionality over various browsers.

Q102). Do you know how to automate the testing of a responsive web application through Selenium WebDriver?

Ans:-  If you wish to automate the testing of a responsive web application by a Selenium WebDriver, the option of browser window resize technique can be utilized to resize the browser pane to various sizes to test how the web application acts on various screen sizes. The browser developer tools can also be utilized to produce various devices and test how the web application acts on the devices.

Q103). Elaborate on the process of automation testing of a file upload functionality through Selenium WebDriver.

Ans:-  Suppose you wish to automate the testing of a file upload functionality through Selenium WebDriver. In that case, firstly, we must locate the file upload button on the page by utilizing the locators such as ID, name, or CSS selector. After that, use the sendKeys() technique to insert the file path of the file that we wish to upload into the upload button; the AutoIT tool can also be used to tack;e the file upload dialog box because Selenium WebDriver is not able to communicate with it. 

Q104). How will you enable mouse hover actions in Selenium?

Ans:-  The Actions class can be used to do a mouse hover action. First of all, we must generate an object of the Actions class and then utilize the moveToElement() technique to shift the mouse to the element we wish to hover on. After that, we may execute the necessary activity on the element through click() or other identical techniques. 

Q105). What is the method to take screenshots in Selenium?

Ans:- Selenium offers a technique known as getScreenshotAs() that may be utilized to take a screenshot of the present browser window pane. After that, we can save the screenshot to a file or conjoin it to the report of the Selenium test. 

Conclusion

These are the most frequent Selenium Interview Questions. With this, we come to the end of this blog. I hope the Selenium Interview Questions will help you ace your Selenium Interview and fetch the desirable job. Also, if you wish to become a successful Selenium engineer in the future, you can take up the Selenium certification training from Janbask Training. This program exposes you to the core concepts of this domain to get a job that is perfect for you.

The training will help you be proficient with Selenium and other related concepts.

Do share your valuable feedback below to let us know if this Selenium Interview question booklet complimented you on cracking the interview or not!

Frequently Asked Questions (FAQs)

Q1. What are the benefits of Java certification courses?

Ans:- The benefits attained from Java certification programs or java certification courses are enormous. The Java coding certification helps you polish and produce the potential meant for coding and programming. The Java certification training also helps you remain aware of the recent process and modern technologies that are trending because the programming language keeps on getting upgraded regularly.

Q2. Can you mention few java certification jobs?

Ans:- The java certification program exposes you to a huge range of java certification jobs such as Junior Developer, Senior Developer, Architect, Java Web Developer, java Android Developer, java EE Developer, Freelancing, and others. A freelancer can also fetch numerous jobs after receiving the java coding certification, such as coding jobs, consulting developers, and others. 

Q3. What are the prerequisites for the java certification program?

Ans:- There are a few prerequisites for the java certification training. You need to have an idea about operating a computer, and you must know to begin a command line shell. If you are a fresher in programming languages, you must have a basic idea of Programming. However, learning Java is simple and fun if you have prior knowledge of C++ or other programming languages. 

Q4. Is Java the right choice of a programming language?

Ans:- Yes, it's the correct decision if you wish to enroll in a java certification program. Java is very simple to grasp, and it can be understood easily. Java eas created for easy utilization and it can be compiled and debugged simply as compared to other programming languages. Java lets you create modular algorithms and codes. Java is also a platform-independent language. 

Q5. What is the utility of Java in our regular lives?

Ans:- Java can be utilized in our regular lives to generate big or small software. These devices can be executed on any computer system or in scattered systems. They can be a tiny module, a huge application, or an applet. Thus Java meets our daily requirements in the best possible way. 

Trending Courses

Cyber Security

  • Introduction to cybersecurity
  • Cryptography and Secure Communication 
  • Cloud Computing Architectural Framework
  • Security Architectures and Models

Upcoming Class

-0 day 12 Oct 2024

QA

  • Introduction and Software Testing
  • Software Test Life Cycle
  • Automation Testing and API Testing
  • Selenium framework development using Testing

Upcoming Class

14 days 26 Oct 2024

Salesforce

  • Salesforce Configuration Introduction
  • Security & Automation Process
  • Sales & Service Cloud
  • Apex Programming, SOQL & SOSL

Upcoming Class

-0 day 12 Oct 2024

Business Analyst

  • BA & Stakeholders Overview
  • BPMN, Requirement Elicitation
  • BA Tools & Design Documents
  • Enterprise Analysis, Agile & Scrum

Upcoming Class

-0 day 12 Oct 2024

MS SQL Server

  • Introduction & Database Query
  • Programming, Indexes & System Functions
  • SSIS Package Development Procedures
  • SSRS Report Design

Upcoming Class

-0 day 12 Oct 2024

Data Science

  • Data Science Introduction
  • Hadoop and Spark Overview
  • Python & Intro to R Programming
  • Machine Learning

Upcoming Class

-0 day 12 Oct 2024

DevOps

  • Intro to DevOps
  • GIT and Maven
  • Jenkins & Ansible
  • Docker and Cloud Computing

Upcoming Class

6 days 18 Oct 2024

Hadoop

  • Architecture, HDFS & MapReduce
  • Unix Shell & Apache Pig Installation
  • HIVE Installation & User-Defined Functions
  • SQOOP & Hbase Installation

Upcoming Class

13 days 25 Oct 2024

Python

  • Features of Python
  • Python Editors and IDEs
  • Data types and Variables
  • Python File Operation

Upcoming Class

7 days 19 Oct 2024

Artificial Intelligence

  • Components of AI
  • Categories of Machine Learning
  • Recurrent Neural Networks
  • Recurrent Neural Networks

Upcoming Class

-0 day 12 Oct 2024

Machine Learning

  • Introduction to Machine Learning & Python
  • Machine Learning: Supervised Learning
  • Machine Learning: Unsupervised Learning

Upcoming Class

34 days 15 Nov 2024

Tableau

  • Introduction to Tableau Desktop
  • Data Transformation Methods
  • Configuring tableau server
  • Integration with R & Hadoop

Upcoming Class

13 days 25 Oct 2024