Skip to content

Commit a185e54

Browse files
committed
Examples test Chromium run on Ubuntu runners
Signed-off-by: Viet Nguyen Duc <[email protected]>
1 parent 7a42cec commit a185e54

File tree

5 files changed

+61
-14
lines changed

5 files changed

+61
-14
lines changed

examples/java/src/test/java/dev/selenium/browsers/ChromeTest.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,14 @@ public void clearProperties() {
3535
@Test
3636
public void basicOptions() {
3737
ChromeOptions options = new ChromeOptions();
38+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
3839
driver = new ChromeDriver(options);
3940
}
4041

4142
@Test
4243
public void arguments() {
4344
ChromeOptions options = new ChromeOptions();
44-
45+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
4546
options.addArguments("--start-maximized");
4647

4748
driver = new ChromeDriver(options);
@@ -50,7 +51,7 @@ public void arguments() {
5051
@Test
5152
public void setBrowserLocation() {
5253
ChromeOptions options = new ChromeOptions();
53-
54+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
5455
options.setBinary(getChromeLocation());
5556

5657
driver = new ChromeDriver(options);
@@ -59,6 +60,7 @@ public void setBrowserLocation() {
5960
@Test
6061
public void extensionOptions() {
6162
ChromeOptions options = new ChromeOptions();
63+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
6264
Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx");
6365
File extensionFilePath = new File(path.toUri());
6466

@@ -74,7 +76,7 @@ public void extensionOptions() {
7476
@Test
7577
public void excludeSwitches() {
7678
ChromeOptions options = new ChromeOptions();
77-
79+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
7880
options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking"));
7981

8082
driver = new ChromeDriver(options);
@@ -83,6 +85,7 @@ public void excludeSwitches() {
8385
@Test
8486
public void loggingPreferences() {
8587
ChromeOptions options = new ChromeOptions();
88+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
8689
LoggingPreferences logPrefs = new LoggingPreferences();
8790
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
8891
options.setCapability(ChromeOptions.LOGGING_PREFS, logPrefs);
@@ -176,6 +179,7 @@ public void disableBuildChecks() throws IOException {
176179

177180
private File getChromeLocation() {
178181
ChromeOptions options = new ChromeOptions();
182+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
179183
options.setBrowserVersion("stable");
180184
DriverFinder finder = new DriverFinder(ChromeDriverService.createDefaultService(), options);
181185
return new File(finder.getBrowserPath());
@@ -258,4 +262,12 @@ public void getBrowserLogs() {
258262
Assertions.assertTrue(logFound, "No matching log message found.");
259263
driver.quit();
260264
}
265+
266+
private static Path getUserDataDir() {
267+
try {
268+
return Files.createTempDirectory("").toAbsolutePath();
269+
} catch (IOException e) {
270+
throw new RuntimeException(e);
271+
}
272+
}
261273
}

examples/java/src/test/java/dev/selenium/browsers/EdgeTest.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,14 @@ public void clearProperties() {
3636
@Test
3737
public void basicOptions() {
3838
EdgeOptions options = new EdgeOptions();
39+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
3940
driver = new EdgeDriver(options);
4041
}
4142

4243
@Test
4344
public void arguments() {
4445
EdgeOptions options = new EdgeOptions();
45-
46+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
4647
options.addArguments("--start-maximized");
4748

4849
driver = new EdgeDriver(options);
@@ -51,7 +52,7 @@ public void arguments() {
5152
@Test
5253
public void setBrowserLocation() {
5354
EdgeOptions options = new EdgeOptions();
54-
55+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
5556
options.setBinary(getEdgeLocation());
5657

5758
driver = new EdgeDriver(options);
@@ -60,6 +61,7 @@ public void setBrowserLocation() {
6061
@Test
6162
public void extensionOptions() {
6263
EdgeOptions options = new EdgeOptions();
64+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
6365
Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx");
6466
File extensionFilePath = new File(path.toUri());
6567

@@ -75,7 +77,7 @@ public void extensionOptions() {
7577
@Test
7678
public void excludeSwitches() {
7779
EdgeOptions options = new EdgeOptions();
78-
80+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
7981
options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking"));
8082

8183
driver = new EdgeDriver(options);
@@ -84,6 +86,7 @@ public void excludeSwitches() {
8486
@Test
8587
public void loggingPreferences() {
8688
EdgeOptions options = new EdgeOptions();
89+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
8790
LoggingPreferences logPrefs = new LoggingPreferences();
8891
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
8992
options.setCapability(EdgeOptions.LOGGING_PREFS, logPrefs);
@@ -171,6 +174,7 @@ public void disableBuildChecks() throws IOException {
171174

172175
private File getEdgeLocation() {
173176
EdgeOptions options = new EdgeOptions();
177+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
174178
options.setBrowserVersion("stable");
175179
DriverFinder finder = new DriverFinder(EdgeDriverService.createDefaultService(), options);
176180
return new File(finder.getBrowserPath());
@@ -253,4 +257,12 @@ public void getBrowserLogs() {
253257
Assertions.assertTrue(logFound, "No matching log message found.");
254258
driver.quit();
255259
}
260+
261+
private static Path getUserDataDir() {
262+
try {
263+
return Files.createTempDirectory("").toAbsolutePath();
264+
} catch (IOException e) {
265+
throw new RuntimeException(e);
266+
}
267+
}
256268
}

examples/python/tests/browsers/test_chrome.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77

88
def test_basic_options():
99
options = webdriver.ChromeOptions()
10+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1011
driver = webdriver.Chrome(options=options)
1112

1213
driver.quit()
1314

1415

1516
def test_args():
1617
options = webdriver.ChromeOptions()
17-
18+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1819
options.add_argument("--start-maximized")
1920

2021
driver = webdriver.Chrome(options=options)
@@ -25,7 +26,7 @@ def test_args():
2526

2627
def test_set_browser_location(chrome_bin):
2728
options = webdriver.ChromeOptions()
28-
29+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
2930
options.binary_location = chrome_bin
3031

3132
driver = webdriver.Chrome(options=options)
@@ -35,6 +36,7 @@ def test_set_browser_location(chrome_bin):
3536

3637
def test_add_extension():
3738
options = webdriver.ChromeOptions()
39+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
3840
extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx")
3941

4042
options.add_extension(extension_file_path)
@@ -47,7 +49,7 @@ def test_add_extension():
4749

4850
def test_keep_browser_open():
4951
options = webdriver.ChromeOptions()
50-
52+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
5153
options.add_experimental_option("detach", True)
5254

5355
driver = webdriver.Chrome(options=options)
@@ -58,7 +60,7 @@ def test_keep_browser_open():
5860

5961
def test_exclude_switches():
6062
options = webdriver.ChromeOptions()
61-
63+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
6264
options.add_experimental_option('excludeSwitches', ['disable-popup-blocking'])
6365

6466
driver = webdriver.Chrome(options=options)
@@ -188,3 +190,9 @@ def test_get_browser_logs():
188190
# Assert that at least one log contains the expected message
189191
assert any("I am console error" in log['message'] for log in logs), "No matching log message found."
190192
driver.quit()
193+
194+
def get_user_data_dir():
195+
import tempfile
196+
import os
197+
temp_dir = tempfile.mkdtemp(prefix="")
198+
return os.path.abspath(temp_dir)

examples/python/tests/browsers/test_edge.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77

88
def test_basic_options():
99
options = webdriver.EdgeOptions()
10+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1011
driver = webdriver.Edge(options=options)
1112

1213
driver.quit()
1314

1415

1516
def test_args():
1617
options = webdriver.EdgeOptions()
17-
18+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1819
options.add_argument("--start-maximized")
1920

2021
driver = webdriver.Edge(options=options)
@@ -25,7 +26,7 @@ def test_args():
2526

2627
def test_set_browser_location(edge_bin):
2728
options = webdriver.EdgeOptions()
28-
29+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
2930
options.binary_location = edge_bin
3031

3132
driver = webdriver.Edge(options=options)
@@ -35,6 +36,7 @@ def test_set_browser_location(edge_bin):
3536

3637
def test_add_extension():
3738
options = webdriver.EdgeOptions()
39+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
3840
extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx")
3941

4042
options.add_extension(extension_file_path)
@@ -47,7 +49,7 @@ def test_add_extension():
4749

4850
def test_keep_browser_open():
4951
options = webdriver.EdgeOptions()
50-
52+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
5153
options.add_experimental_option("detach", True)
5254

5355
driver = webdriver.Edge(options=options)
@@ -58,7 +60,7 @@ def test_keep_browser_open():
5860

5961
def test_exclude_switches():
6062
options = webdriver.EdgeOptions()
61-
63+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
6264
options.add_experimental_option('excludeSwitches', ['disable-popup-blocking'])
6365

6466
driver = webdriver.Edge(options=options)
@@ -188,3 +190,9 @@ def test_get_browser_logs():
188190
# Assert that at least one log contains the expected message
189191
assert any("I am console error" in log['message'] for log in logs), "No matching log message found."
190192
driver.quit()
193+
194+
def get_user_data_dir():
195+
import tempfile
196+
import os
197+
temp_dir = tempfile.mkdtemp(prefix="")
198+
return os.path.abspath(temp_dir)

examples/python/tests/drivers/test_service.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ def test_basic_service():
1010

1111
def test_driver_location(chromedriver_bin, chrome_bin):
1212
options = webdriver.ChromeOptions()
13+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1314
options.binary_location = chrome_bin
1415

1516
service = webdriver.ChromeService(executable_path=chromedriver_bin)
@@ -25,3 +26,9 @@ def test_driver_port():
2526
driver = webdriver.Chrome(service=service)
2627

2728
driver.quit()
29+
30+
def get_user_data_dir():
31+
import tempfile
32+
import os
33+
temp_dir = tempfile.mkdtemp(prefix="")
34+
return os.path.abspath(temp_dir)

0 commit comments

Comments
 (0)