https://angiejones.tech
https://TestAutomationU.com
@techgirl1908
Senior Director, Developer Relations
Applitools
Test Automation University
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
<ul id="productList"> <!-- Test Automation in the Real World --> <li id="pid1" class="ui-li-has-thumb ui-first-child">...</li> <!-- Experiences of Test Automation --> <li id="pid2" class="ui-li-has-thumb">...</li> <!-- Agile Testing --> <li id="pid3" class="ui-li-has-thumb">...</li> <!-- How Google Tests Software --> <li id="pid4" class="ui-li-has-thumb">...</li> <!-- Java for Testers --> <li id="pid5" class="ui-li-has-thumb">...</li> <!-- Advanced Selenium in Java --> <li id="pid6" class="ui-li-has-thumb">...</li> <!-- The Cucumber for Java Book --> <li id="pid7" class="ui-li-has-thumb">...</li> <!-- BDD in Action --> <li id="pid8" class="ui-li-has-thumb ui-last-child">...</li> </ul>
@techgirl1908
@techgirl1908
var element = driver.findElement( );
@techgirl1908
@techgirl1908
var element = driver.findElement( withTagName("li"). );
@techgirl1908
@techgirl1908
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")) );
@techgirl1908
@techgirl1908
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")) ); assertEquals("pid2", element.getAttribute("id"));
ComparisonFailure:
Expected :pid2
Actual :pid1
@techgirl1908
@techgirl1908
pid1
pid3
@techgirl1908
var elements = driver.findElements( withTagName("li"). toLeftOf(By.id("pid3")) ); System.out.println( elements. stream(). map(e->e.getAttribute("id")). collect(Collectors.toList()) );
[pid1, pid2, pid5, pid6]
@techgirl1908
@techgirl1908
pid1
pid3
pid2
pid5
pid6
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
@techgirl1908
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
@techgirl1908
@techgirl1908
@techgirl1908
var element = driver.findElement( withTagName("li"). toLeftOf(By.id("pid3")). toRightOf(By.id("pid1")) ); assertEquals("pid2", element.getAttribute("id"));
@techgirl1908
@techgirl1908
@techgirl1908
<div class="view"> <input class="toggle" type="checkbox"> <label>goodbye world</label> <button class="destroy"></button> </div>
driver.findElement( withTagName("input"). toLeftOf(By.xpath("//label[text()='goodbye world']"))) .click();
driver.findElement( withTagName("input"). toLeftOf(By.xpath("//label[text()='goodbye world']"))) .click();
driver.findElement( withTagName("input"). toLeftOf(By.xpath("//label[text()='goodbye world']"))) .click();
NoSuchElementException
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
driver.get("https://applitools.com/");
@techgirl1908
driver.get("https://applitools.com/"); driver.switchTo().newWindow(WindowType.TAB);
@techgirl1908
driver.get("https://applitools.com/"); driver.switchTo().newWindow(WindowType.TAB); driver.get("https://testautomationu.applitools.com");
@techgirl1908
var windows = driver.getWindowHandles(); for(var window : windows){ driver.switchTo().window(window); if("Automated Visual Testing with Visual AI".equals(driver.getTitle())){ break; } }
var windows = driver.getWindowHandles(); for(var window : windows){ driver.switchTo().window(window); if("Automated Visual Testing with Visual AI".equals(driver.getTitle())){ break; } }
var windows = driver.getWindowHandles(); for(var window : windows){ driver.switchTo().window(window); if("Automated Visual Testing with Visual AI".equals(driver.getTitle())){ break; } }
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
@techgirl1908
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools();
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools();
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools();
@techgirl1908
@techgirl1908
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools(); devTools.createSession(); devTools.send(Emulation.setGeolocationOverride( Optional.of(35.8235), Optional.of(-78.8256), Optional.of(100)) ); driver.get("https://mycurrentlocation.net/");
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools(); devTools.createSession(); devTools.send(Emulation.setGeolocationOverride( Optional.of(35.8235), Optional.of(-78.8256), Optional.of(100)) ); driver.get("https://mycurrentlocation.net/");
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools(); devTools.createSession(); devTools.send(Emulation.setGeolocationOverride( Optional.of(35.8235), Optional.of(-78.8256), Optional.of(100)) ); driver.get("https://mycurrentlocation.net/");
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools(); devTools.createSession(); devTools.send(Emulation.setGeolocationOverride( Optional.of(35.8235), Optional.of(-78.8256), Optional.of(100)) ); driver.get("https://mycurrentlocation.net/");
ChromeDriver driver = new ChromeDriver(); DevTools devTools = driver.getDevTools(); devTools.createSession(); devTools.send(Emulation.setGeolocationOverride( Optional.of(35.8235), Optional.of(-78.8256), Optional.of(100)) ); driver.get("https://mycurrentlocation.net/");
@techgirl1908
devtools.send( Network.emulateNetworkConditions( true, 250, -1, -1, of(ConnectionType.CELLULAR2G) ));
@techgirl1908
@techgirl1908
@techgirl1908
https://angiejones.tech
https://TestAutomationU.com
@techgirl1908
Senior Director, Developer Relations
Applitools
Test Automation University