Skip to content

Commit 6dd9c2a

Browse files
committed
Include explicit wait in parameterized tests
1 parent 7486fac commit 6dd9c2a

File tree

4 files changed

+24
-15
lines changed

4 files changed

+24
-15
lines changed

selenium-webdriver-junit4/src/test/java/io/github/bonigarcia/webdriver/junit4/ch08/parameterized/ParameterizedJUnit4Test.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
*/
1717
package io.github.bonigarcia.webdriver.junit4.ch08.parameterized;
1818

19-
import static org.assertj.core.api.Assertions.assertThat;
20-
19+
import java.time.Duration;
2120
import java.util.Arrays;
2221
import java.util.Collection;
2322

@@ -30,6 +29,8 @@
3029
import org.junit.runners.Parameterized.Parameters;
3130
import org.openqa.selenium.By;
3231
import org.openqa.selenium.WebDriver;
32+
import org.openqa.selenium.support.ui.ExpectedConditions;
33+
import org.openqa.selenium.support.ui.WebDriverWait;
3334

3435
import io.github.bonigarcia.wdm.WebDriverManager;
3536

@@ -73,8 +74,9 @@ public void testParameterized() {
7374
driver.findElement(By.id("password")).sendKeys(password);
7475
driver.findElement(By.cssSelector("button")).click();
7576

76-
String bodyText = driver.findElement(By.tagName("body")).getText();
77-
assertThat(bodyText).contains(expectedText);
77+
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
78+
wait.until(ExpectedConditions.textToBePresentInElementLocated(
79+
By.tagName("body"), expectedText));
7880
}
7981

8082
}

selenium-webdriver-junit5-seljup/src/test/java/io/github/bonigarcia/webdriver/seljup/ch08/parameterized/ParameterizedSelJupTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
*/
1717
package io.github.bonigarcia.webdriver.seljup.ch08.parameterized;
1818

19-
import static org.assertj.core.api.Assertions.assertThat;
20-
19+
import java.time.Duration;
2120
import java.util.stream.Stream;
2221

2322
import org.junit.jupiter.api.extension.ExtendWith;
@@ -26,6 +25,8 @@
2625
import org.junit.jupiter.params.provider.MethodSource;
2726
import org.openqa.selenium.By;
2827
import org.openqa.selenium.chrome.ChromeDriver;
28+
import org.openqa.selenium.support.ui.ExpectedConditions;
29+
import org.openqa.selenium.support.ui.WebDriverWait;
2930

3031
import io.github.bonigarcia.seljup.SeleniumJupiter;
3132

@@ -48,8 +49,9 @@ void testParameterized(String username, String password,
4849
driver.findElement(By.id("password")).sendKeys(password);
4950
driver.findElement(By.cssSelector("button")).click();
5051

51-
String bodyText = driver.findElement(By.tagName("body")).getText();
52-
assertThat(bodyText).contains(expectedText);
52+
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
53+
wait.until(ExpectedConditions.textToBePresentInElementLocated(
54+
By.tagName("body"), expectedText));
5355
}
5456

5557
}

selenium-webdriver-junit5/src/test/java/io/github/bonigarcia/webdriver/jupiter/ch08/parameterized/ParameterizedJupiterTest.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
*/
1717
package io.github.bonigarcia.webdriver.jupiter.ch08.parameterized;
1818

19-
import static org.assertj.core.api.Assertions.assertThat;
20-
19+
import java.time.Duration;
2120
import java.util.stream.Stream;
2221

2322
import org.junit.jupiter.api.AfterEach;
@@ -27,6 +26,8 @@
2726
import org.junit.jupiter.params.provider.MethodSource;
2827
import org.openqa.selenium.By;
2928
import org.openqa.selenium.WebDriver;
29+
import org.openqa.selenium.support.ui.ExpectedConditions;
30+
import org.openqa.selenium.support.ui.WebDriverWait;
3031

3132
import io.github.bonigarcia.wdm.WebDriverManager;
3233

@@ -60,8 +61,9 @@ void testParameterized(String username, String password,
6061
driver.findElement(By.id("password")).sendKeys(password);
6162
driver.findElement(By.cssSelector("button")).click();
6263

63-
String bodyText = driver.findElement(By.tagName("body")).getText();
64-
assertThat(bodyText).contains(expectedText);
64+
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
65+
wait.until(ExpectedConditions.textToBePresentInElementLocated(
66+
By.tagName("body"), expectedText));
6567
}
6668

6769
}

selenium-webdriver-testng/src/test/java/io/github/bonigarcia/webdriver/testng/ch08/parameterized/ParameterizedNGTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616
*/
1717
package io.github.bonigarcia.webdriver.testng.ch08.parameterized;
1818

19-
import static org.assertj.core.api.Assertions.assertThat;
19+
import java.time.Duration;
2020

2121
import org.openqa.selenium.By;
2222
import org.openqa.selenium.WebDriver;
23+
import org.openqa.selenium.support.ui.ExpectedConditions;
24+
import org.openqa.selenium.support.ui.WebDriverWait;
2325
import org.testng.annotations.AfterMethod;
2426
import org.testng.annotations.BeforeMethod;
2527
import org.testng.annotations.DataProvider;
@@ -57,8 +59,9 @@ public void testParameterized(String username, String password,
5759
driver.findElement(By.id("password")).sendKeys(password);
5860
driver.findElement(By.cssSelector("button")).click();
5961

60-
String bodyText = driver.findElement(By.tagName("body")).getText();
61-
assertThat(bodyText).contains(expectedText);
62+
WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
63+
wait.until(ExpectedConditions.textToBePresentInElementLocated(
64+
By.tagName("body"), expectedText));
6265
}
6366

6467
}

0 commit comments

Comments
 (0)