Skip to content

Commit 99c263c

Browse files
author
Mike Reiche
committed
Moved window size detection to DesktopWebDriverRequest
1 parent da1191e commit 99c263c

File tree

2 files changed

+26
-24
lines changed

2 files changed

+26
-24
lines changed

driver-ui-desktop/src/main/java/eu/tsystems/mms/tic/testframework/webdrivermanager/DesktopWebDriverFactory.java

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,6 @@
4545
import eu.tsystems.mms.tic.testframework.utils.Timer;
4646
import eu.tsystems.mms.tic.testframework.utils.TimerUtils;
4747
import eu.tsystems.mms.tic.testframework.webdrivermanager.desktop.WebDriverMode;
48-
import java.util.regex.Matcher;
49-
import java.util.regex.Pattern;
5048
import net.anthavio.phanbedder.Phanbedder;
5149
import org.openqa.selenium.Capabilities;
5250
import org.openqa.selenium.Dimension;
@@ -225,10 +223,10 @@ public void setupSession(EventFiringWebDriver eventFiringWebDriver, DesktopWebDr
225223
}
226224
} catch (Throwable t1) {
227225
log().error("Could not maximize window", t1);
228-
setWindowSizeBasedOnDisplayResolution(window, browser);
226+
setWindowSizeBasedOnDisplayResolution(window, request);
229227
}
230228
} else {
231-
setWindowSizeBasedOnDisplayResolution(window, browser);
229+
setWindowSizeBasedOnDisplayResolution(window, request);
232230
}
233231

234232
if (!Browsers.safari.equalsIgnoreCase(browser)) {
@@ -254,32 +252,15 @@ private void setWindowSize(WebDriver.Window window, Dimension dimension) {
254252
window.setSize(dimension);
255253
}
256254

257-
private Dimension getTargetWindowSize() {
258-
String windowSizeProperty = PropertyManager.getProperty(TesterraProperties.WINDOW_SIZE, PropertyManager.getProperty(TesterraProperties.DISPLAY_RESOLUTION));
259-
Pattern pattern = Pattern.compile("(\\d+)x(\\d+)");
260-
Matcher matcher = pattern.matcher(windowSizeProperty);
261-
int width;
262-
int height;
255+
private void setWindowSizeBasedOnDisplayResolution(WebDriver.Window window, DesktopWebDriverRequest request) {
256+
Dimension dimension = request.getWindowSize();
263257

264-
if (matcher.find()) {
265-
width = Integer.parseInt(matcher.group(1));
266-
height = Integer.parseInt(matcher.group(2));
267-
} else {
268-
log().error(String.format("Unable to parse property %s=%s, falling back to default", TesterraProperties.WINDOW_SIZE, windowSizeProperty));
269-
width = 1920;
270-
height = 1080;
271-
}
272-
return new Dimension(width, height);
273-
}
274-
275-
private void setWindowSizeBasedOnDisplayResolution(WebDriver.Window window, String browser) {
276-
Dimension dimension = getTargetWindowSize();
277258
try {
278259
setWindowSize(window, dimension);
279260
} catch (Throwable t) {
280261
log().error("Could not set window size", t);
281262

282-
if (Browsers.edge.equals(browser)) {
263+
if (Browsers.edge.equals(request.getBrowser())) {
283264
log().debug("Edge Browser was requested, trying workaround");
284265

285266
Timer timer = new Timer(500, 5000);

driver-ui-desktop/src/main/java/eu/tsystems/mms/tic/testframework/webdrivermanager/DesktopWebDriverRequest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
import java.net.MalformedURLException;
3131
import java.net.URL;
3232
import java.util.Optional;
33+
import java.util.regex.Matcher;
34+
import java.util.regex.Pattern;
35+
import org.openqa.selenium.Dimension;
3336

3437
public class DesktopWebDriverRequest extends AbstractWebDriverRequest implements Loggable, Serializable {
3538

@@ -73,4 +76,22 @@ public DesktopWebDriverRequest setWebDriverMode(WebDriverMode webDriverMode) {
7376
public Optional<URL> getServerUrl() {
7477
return Optional.ofNullable(this.getSeleniumServerUrl());
7578
}
79+
80+
public Dimension getWindowSize() {
81+
String windowSizeProperty = PropertyManager.getProperty(TesterraProperties.WINDOW_SIZE, PropertyManager.getProperty(TesterraProperties.DISPLAY_RESOLUTION));
82+
Pattern pattern = Pattern.compile("(\\d+)x(\\d+)");
83+
Matcher matcher = pattern.matcher(windowSizeProperty);
84+
int width;
85+
int height;
86+
87+
if (matcher.find()) {
88+
width = Integer.parseInt(matcher.group(1));
89+
height = Integer.parseInt(matcher.group(2));
90+
} else {
91+
log().error(String.format("Unable to parse property %s=%s, falling back to default", TesterraProperties.WINDOW_SIZE, windowSizeProperty));
92+
width = 1920;
93+
height = 1080;
94+
}
95+
return new Dimension(width, height);
96+
}
7697
}

0 commit comments

Comments
 (0)