-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
Open
Labels
A-needs-triagingA Selenium member will evaluate this soon!A Selenium member will evaluate this soon!I-defectSomething is not working as intendedSomething is not working as intended
Description
Description
I wrap the webdriver twice.
And I want to unwrap it.
The unwrapping hangs forever. :(
Reproducible Code
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WrapsDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.events.EventFiringDecorator;
import org.openqa.selenium.support.events.WebDriverListener;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.Duration;
import static org.assertj.core.api.Assertions.assertThat;
final class UnwrapWebdriverTest {
private final WebDriver original = new ChromeDriver();
@Test
void canOpenBlankPage() {
WebDriver decorated1 = new EventFiringDecorator<>(new WebDriverListener() {
}).decorate(original);
WebDriver decorated2 = new EventFiringDecorator<>(new WebDriverListener() {
}).decorate(decorated1);
assertThat(((WrapsDriver) decorated1).getWrappedDriver()).isSameAs(original);
// Fail 1: Shouldn't this work?
//assertThat(((WrapsDriver) decorated2).getWrappedDriver()).isSameAs(decorated1);
// Fail 2: This hangs forever
new WebDriverWait(decorated2, Duration.ofSeconds(2))
.until((d) -> "zopa".equalsIgnoreCase(d.getTitle()));
}
@AfterEach
void tearDown() {
original.quit();
}
}Metadata
Metadata
Assignees
Labels
A-needs-triagingA Selenium member will evaluate this soon!A Selenium member will evaluate this soon!I-defectSomething is not working as intendedSomething is not working as intended