From 28395d4a046277512d515b8e2fe002f64f0993b1 Mon Sep 17 00:00:00 2001 From: Diego Molina Date: Mon, 26 Feb 2024 15:48:21 -0800 Subject: [PATCH] Adding more examples of element mutation --- .../selenium/selenium_features/DevToolsTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/selenium-examples/src/test/java/com/saucedemo/selenium/selenium_features/DevToolsTest.java b/selenium-examples/src/test/java/com/saucedemo/selenium/selenium_features/DevToolsTest.java index 86b9abb3..a0b6c5f5 100644 --- a/selenium-examples/src/test/java/com/saucedemo/selenium/selenium_features/DevToolsTest.java +++ b/selenium-examples/src/test/java/com/saucedemo/selenium/selenium_features/DevToolsTest.java @@ -274,6 +274,22 @@ public void mutatedElements() { Assertions.assertEquals(mutations.get(0), driver.findElement(By.id("revealed"))); } + @Test + public void elementsMutation() { + driver.get("https://the-internet.herokuapp.com/dynamic_controls"); + + CopyOnWriteArrayList mutations = new CopyOnWriteArrayList<>(); + ((HasLogEvents) driver).onLogEvent(domMutation(e -> mutations.add(e.getElement()))); + + driver.findElement(By.cssSelector("#checkbox-example > button")).click(); + wait.until(_d -> !mutations.isEmpty()); + + driver.findElement(By.cssSelector("#checkbox-example > button")).click(); + wait.until(_d -> mutations.size() > 1); + + Assertions.assertEquals(mutations.size(), 2); + } + @Test public void consoleLogsBidiApi() { driver.get("https://www.selenium.dev/selenium/web/bidi/logEntryAdded.html");