public class OuterClass {
public static class Inner1 {
}
public class Inner2 {
}
}
Best Selenium code snippet using org.openqa.selenium.chromium.ChromiumDriver
Source: ChromeDevToolsDemo.java
1package chrome_devtools;2import io.github.bonigarcia.wdm.WebDriverManager;3import io.github.bonigarcia.wdm.managers.ChromiumDriverManager;4import org.openqa.selenium.WebDriver;5import org.openqa.selenium.chrome.ChromeDriver;6import org.openqa.selenium.chromium.AddHasNetworkConditions;7import org.openqa.selenium.chromium.ChromiumDriver;8import org.openqa.selenium.chromium.ChromiumNetworkConditions;9import org.openqa.selenium.devtools.DevTools;10import org.openqa.selenium.devtools.v85.log.Log;11import org.openqa.selenium.devtools.v85.network.model.ConnectionType;12import org.openqa.selenium.devtools.v94.network.Network;13import org.openqa.selenium.mobile.NetworkConnection;14import org.testng.annotations.Test;15import java.util.Optional;16import static org.openqa.selenium.devtools.v85.network.Network.emulateNetworkConditions;17public class ChromeDevToolsDemo {18 WebDriver driver;19 @Test20 public void enableNetworkOffline() {21 WebDriverManager.chromedriver().setup();22 driver=new ChromeDriver();23 DevTools devTools=((ChromiumDriver)driver).getDevTools();24 devTools.createSession();25 devTools.send(Network.enable(Optional.of(1000000),Optional.empty(),Optional.empty()));26 devTools.send(emulateNetworkConditions(true,100,1000,2000,Optional.of(ConnectionType.WIFI)));27 driver.get("https://formy-project.herokuapp.com/");28 }29 @Test(description = "Get console logs")30 public void generateConsoleLogs() {31 WebDriverManager.chromedriver().setup();32 driver=new ChromeDriver();33 DevTools devTools=((ChromiumDriver)driver).getDevTools();34 devTools.createSession();35 devTools.send(Log.enable());36// devTools.addListener(Log.entryAdded(),entry -> System.out.println(entry.asSeleniumLogEntry()));37 driver.get("https://formy-project.herokuapp.com/");38 }39}...
Source: demoGeoLocation.java
1import org.testng.annotations.*;2import org.openqa.selenium.*;3import org.openqa.selenium.chrome.ChromeDriver;4import org.openqa.selenium.chromium.ChromiumDriver;5import io.github.bonigarcia.wdm.WebDriverManager;6import java.util.Map;7import java.util.concurrent.TimeUnit;8public class demoGeoLocation {9 WebDriver driver;10 11 @BeforeMethod12 public void beforeMethod() {13 WebDriverManager.chromedriver().setup();14 driver = new ChromeDriver();15 driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);16 }17 @Test18 public void findPumaStore() throws Exception{19 20 //Map coordinates Delhi India21 Map coordinatesDelhi = Map.of(22 "latitude", 28.6472799,23 "longitude", 76.8130644,24 "accuracy", 125 );26 //Map coordinates Dubai UAE27 Map coordinatesDubai = Map.of(28 "latitude", 25.0763815,29 "longitude", 54.9475464,30 "accuracy", 131 );32 33 String totalStores;34 35 //((ChromiumDriver) driver).executeCdpCommand("Emulation.setGeolocationOverride", coordinatesDelhi);36 ((ChromiumDriver) driver).executeCdpCommand("Emulation.setGeolocationOverride", coordinatesDubai);37 driver.navigate().to("https://about.puma.com/en/storelocator");38 Thread.sleep(5000);39 totalStores=driver.findElement(By.className("number-of-stores")).getText();40 System.out.println(totalStores+ " PUMA stores found near this location");41}42 43 44 @AfterMethod45 public void afterMethod() {46 driver.close();47 }48}...
Source: Location.java
...6import org.openqa.selenium.WebDriver;7import org.openqa.selenium.WebElement;8import org.openqa.selenium.chrome.ChromeDriver;9import org.openqa.selenium.chrome.ChromeOptions;10import org.openqa.selenium.chromium.ChromiumDriver;11import org.testng.annotations.Test;12import io.github.bonigarcia.wdm.WebDriverManager;13public class Location {14 @Test15 public void demoLocation() throws MalformedURLException, InterruptedException {16 ChromeOptions options = new ChromeOptions();17 options.addArguments("--headless");18 19 WebDriverManager.chromedriver().setup();20 WebDriver driver = new ChromeDriver(options);21 Map<String, Object> coordinates = new HashMap<String, Object>() {22 {23 put("latitude", 50.2334);24 put("longitude", 70.2334);25 put("accuracy", 1);26 }27 };28 ((ChromiumDriver) driver).executeCdpCommand("Emulation.setGeolocationOverride", coordinates);29 driver.manage().window().maximize();30 driver.get("http://127.0.0.1:5500/demoLocation.html");31 Thread.sleep(10000);32 driver.findElement(By.tagName("button")).click();33 Thread.sleep(10000);34 System.out.println("*******************************");35 System.out.println(driver.findElement(By.id("demo")).getText());36 System.out.println("*******************************");37 }38}...
Source: WebAuthnBrowserDriverUtil.java
...16 */17package org.keycloak.testsuite.webauthn.utils;18import org.keycloak.testsuite.util.BrowserDriverUtil;19import org.openqa.selenium.WebDriver;20import org.openqa.selenium.chromium.ChromiumDriver;21/**22 * @author <a href="mailto:mabartos@redhat.com">Martin Bartos</a>23 */24public class WebAuthnBrowserDriverUtil extends BrowserDriverUtil {25 public static boolean isDriverChromiumBased(WebDriver driver) {26 return BrowserDriverUtil.isDriverInstanceOf(driver, ChromiumDriver.class);27 }28}...
Source: executeCDPCommand.java
2import java.util.HashMap;3import java.util.Map;4import org.openqa.selenium.By;5import org.openqa.selenium.chrome.ChromeDriver;6import org.openqa.selenium.chromium.ChromiumDriver;7import org.openqa.selenium.devtools.DevTools;8public class executeCDPCommand {9 public static void main(String[] args) {10 System.setProperty("webdriver.chrome.driver", "C:\\Users\\Dhawan\\chromedriver_win32\\chromedriver.exe");11 12 ChromiumDriver driver = new ChromeDriver();13// ChromeDriver driver = new ChromeDriver();14 DevTools devtools = driver.getDevTools();15 devtools.createSession();16 Map values = new HashMap();17 values.put("width", 375);18 values.put("height", 812);19 values.put("deviceScaleFactor", 65);20 values.put("mobile", true);21 driver.executeCdpCommand("Emulation.setDeviceMetricsOverride", values);22 23 driver.get("https://rahulshettyacademy.com/seleniumPractise/#/");24 driver.findElement(By.xpath("//a[@class='cart-icon']/img")).click();25 System.out.println(driver.findElement(By.xpath("//div[@class='empty-cart']/h2")).getText());26 driver.quit();...
Source: DevToolsDemo.java
23import java.util.Optional;45import org.openqa.selenium.chrome.ChromeDriver;6import org.openqa.selenium.chromium.ChromiumDriver;7import org.openqa.selenium.devtools.DevTools;8import org.openqa.selenium.devtools.v94.network.Network;9import org.openqa.selenium.devtools.v94.network.model.ConnectionType;1011public class DevToolsDemo {1213 public static void main(String[] args) {14 15 System.setProperty("webdriver.chrome.driver", "C:\\seleniumsoftware\\chromedriver_win32\\chromedriver.exe");1617 ChromeDriver driver = new ChromeDriver();18 DevTools devTools = ((ChromiumDriver)driver).getDevTools();19 devTools.createSession();20 21 devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty()));22 devTools.send(Network.emulateNetworkConditions(false, 100, 1000, 2000, Optional.of(ConnectionType.WIFI)));23 24 //devTools.addListener(loadingFailed(),loadingFailed -> assertEquals(loadingFailed.getErrorText(), "net::ERR_INTERNET_DISCONNECTED"));25 driver.get("http://demowebshop.tricentis.com/login");2627 }2829}
...
Source: MockGeoLocation.java
...3import java.util.HashMap;4import java.util.Map;5import org.openqa.selenium.WebDriver;6import org.openqa.selenium.chrome.ChromeDriver;7import org.openqa.selenium.chromium.ChromiumDriver;8import org.testng.annotations.Test;9import io.github.bonigarcia.wdm.WebDriverManager;10public class MockGeoLocation {11 12 @Test13 public void mockGeoLocation() {14 15 WebDriverManager.chromedriver().setup();16 WebDriver driver = new ChromeDriver();17 driver.manage().timeouts().implicitlyWait(Duration.ofMillis(10000));18 19 Map<String, Object> coordinates = new HashMap<String, Object>();20 coordinates.put("latitude", 40.378660);21 coordinates.put("longitude", -111.817410);22 coordinates.put("accuracy", 100);23 24 ((ChromiumDriver) driver).executeCdpCommand("Emulation.setGeolocationOverride", coordinates);25 driver.get("https://oldnavy.gap.com/stores");26 }27 28}...
Source: SeleniumFactory.java
1package com.smilep.ptok.factory;2import lombok.extern.slf4j.Slf4j;3import org.openqa.selenium.chrome.ChromeDriver;4import org.openqa.selenium.chrome.ChromeOptions;5import org.openqa.selenium.chromium.ChromiumDriver;6import java.util.concurrent.TimeUnit;7@Slf4j8public class SeleniumFactory {9 public ChromiumDriver getChromiumDriver() {10 ChromeOptions chromeOptions = new ChromeOptions();11 chromeOptions.setHeadless(true);12 ChromiumDriver driver = new ChromeDriver(chromeOptions);13 driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);14 return driver;15 }16}...
ChromiumDriver
Using AI Code Generation
1import org.openqa.selenium.chromium.ChromiumDriver;2import org.openqa.selenium.chrome.ChromeOptions;3import org.openqa.selenium.chrome.ChromeDriverService;4import org.openqa.selenium.Proxy;5import org.openqa.selenium.remote.DesiredCapabilities;6import java.io.File;7import java.io.IOException;8import java.util.concurrent.TimeUnit;9public class ChromiumDriver {10 public static void main(String[] args) {11 ChromeOptions options = new ChromeOptions();12 Proxy proxy = new Proxy();13 proxy.setProxyType(Proxy.ProxyType.MANUAL);14 proxy.setHttpProxy("
ChromiumDriver
Using AI Code Generation
1import org.openqa.selenium.chromium.ChromiumDriver;2import org.openqa.selenium.chrome.ChromeDriver;3import org.openqa.selenium.chrome.ChromeOptions;4import org.openqa.selenium.remote.DesiredCapabilities;5import org.openqa.selenium.remote.CapabilityType;6import org.openqa.selenium.Proxy;7import org.openqa.selenium.remote.BrowserType;8import org.openqa.selenium.Platform;9import java.io.File;10import java.io.IOException;11import java.lang.Process;12import java.lang.ProcessBuilder;13import java.util.List;14import java.util.ArrayList;15import java.util.Map;16import java.util.HashMap;17import java.lang.String;18import java.lang.Boolean;19import java.lang.Integer;20import java.lang.System;21public class ChromeDriverTest {22 public static void main(String[] args) {23 ChromeOptions options = new ChromeOptions();24 options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");25 System.setProperty("webdriver.chrome.driver", "D:\\Selenium\\chromedriver.exe");26 ChromeDriver driver = new ChromeDriver(options);27 driver.close();
ChromiumDriver
Using AI Code Generation
1import org.openqa.selenium.chromium.ChromiumDriver;2import org.openqa.selenium.chrome.ChromeOptions;3import org.openqa.selenium.chrome.ChromeDriverService;4import org.openqa.selenium.remote.DesiredCapabilities;5import java.io.File;6import java.io.IOException;7import java.net.URL;8import org.openqa.selenium.WebDriver;9import org.openqa.selenium.WebElement;10import org.openqa.selenium.By;11import org.openqa.selenium.Keys;12import org.openqa.selenium.interactions.Actions;13import java.util.concurrent.TimeUnit;14import org.openqa.selenium.support.ui.WebDriverWait;15import org.openqa.selenium.support.ui.ExpectedConditions;16public class SeleniumTest {17 public static void main(String[] args) throws IOException, InterruptedException {18 System.setProperty("webdriver.chrome.driver", "C:\\Users\\myuser\\Downloads\\chromedriver_win32\\chromedriver.exe");19 ChromeDriverService service = new ChromeDriverService.Builder()20 .usingDriverExecutable(new File("C:\\Users\\myuser\\Downloads\\chromedriver_win32\\chromedriver.exe"))21 .usingAnyFreePort()22 .build();23 service.start();24 ChromeOptions options = new ChromeOptions();25 options.setBinary("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe");26 options.addArguments("--headless");
ChromiumDriver
Using AI Code Generation
1import org.openqa.selenium.WebDriver;2import org.openqa.selenium.chrome.ChromeDriver;3import org.openqa.selenium.chrome.ChromeOptions;4import org.openqa.selenium.chromium.ChromiumDriver;5import org.openqa.selenium.chrome.ChromeDriverService;6public class ChromeDriverDemo {7 public static void main(String[] args) {8 WebDriver driver = new ChromeDriver();9 driver.quit();10 }11}12 WebDriver driver = new ChromeDriver();
ChromiumDriver
Using AI Code Generation
1import org.openqa.selenium.chromium.ChromiumDriver;2import org.openqa.selenium.chromium.ChromiumOptions;3import org.openqa.selenium.remote.RemoteWebDriver;4import org.openqa.selenium.chrome.ChromeDriver;5import org.openqa.selenium.chrome.ChromeOptions;6import org.openqa.selenium.remote.RemoteWebDriver;7import org.openqa.selenium.edge.EdgeDriver;8import org.openqa.selenium.edge.EdgeOptions;9import org.openqa.selenium.remote.RemoteWebDriver;10import org.openqa.selenium.firefox.FirefoxDriver;11import org.openqa.selenium.firefox.FirefoxOptions;12import org.openqa.selenium.remote.RemoteWebDriver;13import org.openqa.selenium.opera.OperaDriver;14import org.openqa.selenium.opera.OperaOptions;15import org.openqa.selenium.remote.RemoteWebDriver;16import org.openqa.selenium.safari.SafariDriver;17import org.openqa.selenium.safari.SafariOptions;18import org.openqa.selenium.remote.RemoteWebDriver;19import org.openqa.selenium.ie.InternetExplorerDriver;20import org.openqa.selenium.ie.InternetExplorerOptions;21import org.openqa.selenium.remote.RemoteWebDriver;22import org.openqa.selenium.edge.EdgeDriver;23import org.openqa.selenium.edge.EdgeOptions;24import org.openqa.selenium.remote.RemoteWebDriver;25import org.openqa.selenium.edge.EdgeDriver;26import org.openqa.selenium.edge.EdgeOptions;27import org.openqa.selenium.remote.RemoteWebDriver;28import org.openqa.selenium.edge.EdgeDriver;29import org.openqa.selenium.edge.EdgeOptions;30import org.openqa.selenium.remote.RemoteWebDriver;31import org.openqa.selenium.edge.EdgeDriver;32import org.openqa.selenium.edge.EdgeOptions;33import org.openqa.selenium.remote.RemoteWebDriver;34import org.openqa.selenium.edge.EdgeDriver;35import org.openqa.selenium.edge.EdgeOptions;36import org.openqa.selenium.remote.RemoteWebDriver;
1public class OuterClass {2 public static class Inner1 {3 }4 public class Inner2 {5 }6}7
How to wait for either of the two elements in the page using selenium xpath
Why is XPath last() function not working as I expect?
Selenium switchTo return error org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status
How to implement user types for @FindBy annotation?
Selenium web driver: cannot be scrolled into view
How to open a link in new tab (chrome) using Selenium WebDriver?
Selenium webdriver: Modifying navigator.webdriver flag to prevent selenium detection
How to define tomcat-users.xml on embedded Tomcat?
org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status
Unhandled Alert Exception : Modal Dialog Present (Selenium)
It is possible to wait for one of two elements in the page using ExpectedConditions.or()
:
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.or(
ExpectedConditions.elementToBeClickable(By.id("idNumber1")),
ExpectedConditions.elementToBeClickable(By.id("idNumber2"))
));
You can also do an OR
with a CSS selector using a comma ,
:
wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector("#idNumber1, #idNumber2"));
Check out the latest blogs from LambdaTest on this topic:
Testing a website in a single browser using automation script is clean and simple way to accelerate your testing. With a single click you can test your website for all possible errors without manually clicking and navigating to web pages. A modern marvel of software ingenuity that saves hours of manual time and accelerate productivity. However for all this magic to happen, you would need to build your automation script first.
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Cross Browser Testing Tutorial.
There is no other automation framework in the market that is more used for automating web testing tasks than Selenium and one of the key functionalities is to take Screenshot in Selenium. However taking full page screenshots across different browsers using Selenium is a unique challenge that many selenium beginners struggle with. In this post we will help you out and dive a little deeper on how we can take full page screenshots of webpages across different browser especially to check for cross browser compatibility of layout.
This article is a part of our Content Hub. For more in-depth resources, check out our content hub on Automation Testing Tutorial.
Ever-since the introduction of World Wide Web in 1990, the domain of web development has evolved dynamically from web pages to web applications. End users no longer browse web pages for reading static content. Websites now have dynamic features to increase their engagement rate. Interactive websites are being developed using which users can perform their day to day activities like shopping for groceries, banking, paying taxes, etc. However, these applications are developed by human beings, and mistakes are supposed to happen. Often a simple mistake can impact a critical functionality in your website that will lead the user to move away to a different website, reducing your profit and SERP ranking. In this article, we shall discuss the common mistakes made by developers while developing a web application.
LambdaTest’s Selenium 4 tutorial is covering every aspects of Selenium 4 testing with examples and best practices. Here you will learn basics, such as how to upgrade from Selenium 3 to Selenium 4, to some advanced concepts, such as Relative locators and Selenium Grid 4 for Distributed testing. Also will learn new features of Selenium 4, such as capturing screenshots of specific elements, opening a new tab or window on the browser, and new protocol adoptions.
Upgrading From Selenium 3 To Selenium 4?: In this chapter, learn in detail how to update Selenium 3 to Selenium 4 for Java binding. Also, learn how to upgrade while using different build tools such as Maven or Gradle and get comprehensive guidance for upgrading Selenium.
What’s New In Selenium 4 & What’s Being Deprecated? : Get all information about new implementations in Selenium 4, such as W3S protocol adaption, Optimized Selenium Grid, and Enhanced Selenium IDE. Also, learn what is deprecated for Selenium 4, such as DesiredCapabilites and FindsBy methods, etc.
Selenium 4 With Python: Selenium supports all major languages, such as Python, C#, Ruby, and JavaScript. In this chapter, learn how to install Selenium 4 for Python and the features of Python in Selenium 4, such as Relative locators, Browser manipulation, and Chrom DevTool protocol.
Selenium 4 Is Now W3C Compliant: JSON Wireframe protocol is retiring from Selenium 4, and they are adopting W3C protocol to learn in detail about the advantages and impact of these changes.
How To Use Selenium 4 Relative Locator? : Selenium 4 came with new features such as Relative Locators that allow constructing locators with reference and easily located constructors nearby. Get to know its different use cases with examples.
Selenium Grid 4 Tutorial For Distributed Testing: Selenium Grid 4 allows you to perform tests over different browsers, OS, and device combinations. It also enables parallel execution browser testing, reads up on various features of Selenium Grid 4 and how to download it, and runs a test on Selenium Grid 4 with best practices.
Selenium Video Tutorials: Binge on video tutorials on Selenium by industry experts to get step-by-step direction from automating basic to complex test scenarios with Selenium.
LambdaTest also provides certification for Selenium testing to accelerate your career in Selenium automation testing.
Get 100 minutes of automation test minutes FREE!!