Browser level notifications include “Allow/Decline camera access,” “Allow/Decline microphone access,” etc. To handle such notifications in Chrome browser, ChromeOptions can be used. Similarly, for the Firefox browser, FirefoxOptions/ FirefoxProfile can be used.
Web-based alerts include “This site says….”, “Do you want to leave this site” etc. These can be handled using Selenium predefined class “Alerts,” which provide various methods like accept(), dismiss(), etc.
Selenium is not capable to handle OS level pop-ups, handling OS level interactions is something that can’t be performed using Selenium. These types of pop-ups can be categorized as flash objects which can’t be accessed using Selenium locators. “Robot” class is commonly used for interaction with such pop-ups. Check here…
Web applications developed using latest frameworks might have dynamic content that changes over time.
For example: Amazon is an e-commerce application whose catalog changes overtime and reacts differently with different content in different regions.
Web content based on AJAX sometimes takes time to load, which most of the time leads to becomes a possible reason for test script failure. As mentioned previously, we have waits integrated with Selenium like Implicit wait and Explicit wait, which can be helpful in such cases. We can even create dynamic or custom XPath for handling dynamic web content.
We all are aware that selenium supports desktop browser testing. This is a drawback of selenium over other testing frameworks. Another framework “Appium” a.k.a cousin of selenium solve this problem. Appium is widely used framework for testing of iOS and Android mobile apps and web apps. Here the challenging part for automation testers is that they have to create different drivers and scripts for testing a single web application in the same browser of desktop and mobile to perform testing.
Reports is the critical challenge faced by automation testers. Mostly we use Java frameworks that provide useful reports using TestNG, Gauge. In Python we have Pytest framework to create reports.
As we know, Captcha and OTP values are different every time user send to validate login. Automating features like payment gateway, new account registration, etc. where Captcha and OTP is required, becomes challenging for automation testers.
In IT everyday we new challenges since the technology is growing up with high speed. Not only the Selenium-based testers are facing challenges but also the testers who are using other testing tools like QTP, Katalon, Ranorex, etc. are also facing challenges in respective projects.
How to create Selenium Cucumber Project in Eclipse
Selenium, Cucumber, JUnit, TestNG dependencies
Mostly asked Cucumber interview questions
Use of Wait commands in Selenium WebDriver?