Posts

Showing posts from March, 2021

How to handle random pop ups

Issue:  In some pages unexpected popup's(ex:ad's) will be displaying. Because of this the script will fail by throwing exceptions like  ElementNotFoundException   and currently  Element is not Interactable  etc.. . Here these ad's are not specific to particular page. It may come at any page.   How to handle? A popup can be an alert or an ad in a iframe or an ad in a new window and all these are treated in different ways. Assuming its an Alert, log_file has already provided you the solution, i.e. to use  alertIsPresent () , and accept or dimiss it as per your requirements. Assuming the ad is in  iframe , follow the below approach: driver .switchTo .frame (driver.findElement(By.id(locatorToIdentifyFrame))); driver .findElement (By.id(locatorToCloseAd)) .click (); //Close Ad driver .switchTo () .defaultContent (); // Return to main window Assuming the ad in the  window , follow the below approach: String mainWinHandle = driver.getWindo...

How to handle downloading of different browser drivers without manual intervention?

 Using WebDriverManager, we can automatically download the driver’s binary files (.exe files) for Web Automation Traditionally the binaries are referred as System.setProperty(""""webdriver.chrome.driver"""", """"D:\\test\\chromedriver.exe"""" ); With WebDriverManager, we can eliminate the downloading of the binaries everytime a new version is released. WebDriverManager.chromedriver().setup(); POM: <dependency>   <groupId>io.github.bonigarcia</groupId>   <artifactId>webdrivermanager</artifactId>     <version>3.0.0</version>   <scope>test</scope> </dependency>""

Docker configuration for selenium tests

Image
Why docker for selenium testers: Usually while configuring the Selenium grid we need to host multiple virtual machines as nodes and we need to connect every single node with the hub. Also, when we set up a normal grid we need to download the Selenium server jar file and run that jar file on each computer in which we are going to set up the Selenium grid. This is costly and sometimes a time-consuming task for the testers. However, Docker helps us to solve cost-related and time-consuming problems. Steps to create a automation project with the help of Docker: -Create a Maven project -Add selenium dependencies -Create a class like below.This will print Google by executing test in container created from docker. -Define and initialize a chromeStandAlone container in 4444 port.Below details gives details of docker. Most used common Docker commands: docker ps : Will give information of all containers running in the machine. Docker Images : will show all current images docker pull <image n...