8000 added support for EventFiringWebDriver · seleniumQuery/seleniumQuery@e39e487 · GitHub
[go: up one dir, main page]

Skip to content

Commit e39e487

Browse files
committed
added support for EventFiringWebDriver
1 parent b3bacd2 commit e39e487

File tree

8 files changed

+34
-9
lines changed

8 files changed

+34
-9
lines changed

src/main/java/io/github/seleniumquery/browser/driver/DriverBuilder.java

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
package io.github.seleniumquery.browser.driver;
1717

1818
import java.util.function.Consumer;
19-
2019
import org.apache.commons.logging.Log;
2120
import org.apache.commons.logging.LogFactory;
2221
import org.openqa.selenium.WebDriver;
2322
import org.openqa.selenium.remote.DesiredCapabilities;
24-
23+
import org.openqa.selenium.support.events.EventFiringWebDriver;
24+
import org.openqa.selenium.support.events.WebDriverEventListener;
2525
import io.github.bonigarcia.wdm.WebDriverManager;
2626

2727
/**
@@ -42,6 +42,8 @@ public abstract class DriverBuilder<T extends DriverBuilder<T>> {
4242

4343
private boolean autoQuitAskedFor = false;
4444

45+
private WebDriverEventListener webDriverEventListener;
46+
4547
/**
4648
* Configures the driver with the given capabilities.
4749
* @param desiredCapabilities The capabilities to be set.
@@ -144,4 +146,27 @@ protected void autoQuitDriverIfAskedFor(WebDriver driver) {
144146
}
145147
}
146148

149+
/**
150+
* Configures the driver with the given WebDriverEventListener.
151+
*
152+
* @param webDriverEventListener The webDriverEventListener to be set.
153+
* @return A self reference for further configuration.
154+
* @since 0.18.0
155+
*/
156+
@SuppressWarnings("unchecked")
157+
public T withWebDriverEventListener(WebDriverEventListener webDriverEventListener) {
158+
this.webDriverEventListener = webDriverEventListener;
159+
return (T) this;
160+
}
161+
162+
protected WebDriver attatchEventListner(WebDriver webDriver) {
163+
if (webDriverEventListener != null) {
164+
EventFiringWebDriver efwd = new EventFiringWebDriver(webDriver);
165+
efwd.register(webDriverEventListener);
166+
return efwd;
167+
} else {
168+
return webDriver;
169+
}
170+
}
171+
147172
}

src/main/java/io/github/seleniumquery/browser/driver/builders/ChromeDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ protected WebDriver build() {
124124
autoDownloadDriverIfAskedFor(ChromeDriver.class);
125125
WebDriver webDriver = buildChrome();
126126
autoQuitDriverIfAskedFor(webDriver);
127-
return webDriver;
127+
return attatchEventListner(webDriver);
128128
}
129129

130130
private WebDriver buildChrome() {

src/main/java/io/github/seleniumquery/browser/driver/builders/EdgeDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ protected WebDriver build() {
6565
autoDownloadDriverIfAskedFor(EdgeDriver.class);
6666
WebDriver webDriver = buildEdge();
6767
autoQuitDriverIfAskedFor(webDriver);
68-
return webDriver;
68+
return attatchEventListner(webDriver);
6969
}
7070

7171
private WebDriver buildEdge() {

src/main/java/io/github/seleniumquery/browser/driver/builders/FirefoxDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ protected WebDriver build() {
126126
autoDownloadDriverIfAskedFor(FirefoxDriver.class);
127127
WebDriver webDriver = buildFirefox();
128128
autoQuitDriverIfAskedFor(webDriver);
129-
return webDriver;
129+
return attatchEventListner(webDriver);
130130
}
131131

132132
private WebDriver buildFirefox() {

src/main/java/io/github/seleniumquery/browser/driver/builders/HtmlUnitDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public HtmlUnitDriverBuilder emulatingInternetExplorer() {
104104
protected WebDriver build() {
105105
WebDriver webDriver = buildHtmlUnit();
106106
autoQuitDriverIfAskedFor(webDriver);
107-
return webDriver;
107+
return attatchEventListner(webDriver);
108108
}
109109

110110
private WebDriver buildHtmlUnit() {

src/main/java/io/github/seleniumquery/browser/driver/builders/InternetExplorerDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ protected WebDriver build() {
7575
autoDownloadDriverIfAskedFor(InternetExplorerDriver.class);
7676
WebDriver webDriver = buildIE();
7777
autoQuitDriverIfAskedFor(webDriver);
78-
return webDriver;
78+
return attatchEventListner(webDriver);
7979
}
8080

8181
private WebDriver buildIE() {

src/main/java/io/github/seleniumquery/browser/driver/builders/OperaDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ protected WebDriver build() {
117117
autoDownloadDriverIfAskedFor(OperaDriver.class);
118118
WebDriver webDriver = buildOpera();
119119
autoQuitDriverIfAskedFor(webDriver);
120-
return webDriver;
120+
return attatchEventListner(webDriver);
121121
}
122122

123123
private WebDriver buildOpera() {

src/main/java/io/github/seleniumquery/browser/driver/builders/PhantomJSDriverBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ protected WebDriver build() {
8888
autoDownloadDriverIfAskedFor(PhantomJSDriver.class);
8989
WebDriver webDriver = buildPhantomJS();
9090
autoQuitDriverIfAskedFor(webDriver);
91-
return webDriver;
91+
return attatchEventListner(webDriver);
9292
}
9393

9494
private WebDriver buildPhantomJS() {

0 commit comments

Comments
 (0)
0