Skip to content

Commit f5b420b

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

File tree

4 files changed

+66
-14
lines changed

4 files changed

+66
-14
lines changed

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

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,19 @@
2626

2727

2828
public class ChromeTest extends BaseTest {
29+
private static Path getUserDataDir() {
30+
String homeDir = System.getProperty("user.home");
31+
Path seleniumDir = Paths.get(homeDir, ".chromium");
32+
if (!Files.exists(seleniumDir)) {
33+
try {
34+
Files.createDirectories(seleniumDir);
35+
} catch (IOException e) {
36+
throw new RuntimeException(e);
37+
}
38+
}
39+
return seleniumDir;
40+
}
41+
2942
@AfterEach
3043
public void clearProperties() {
3144
System.clearProperty(ChromeDriverService.CHROME_DRIVER_LOG_PROPERTY);
@@ -35,13 +48,14 @@ public void clearProperties() {
3548
@Test
3649
public void basicOptions() {
3750
ChromeOptions options = new ChromeOptions();
51+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
3852
driver = new ChromeDriver(options);
3953
}
4054

4155
@Test
4256
public void arguments() {
4357
ChromeOptions options = new ChromeOptions();
44-
58+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
4559
options.addArguments("--start-maximized");
4660

4761
driver = new ChromeDriver(options);
@@ -50,7 +64,7 @@ public void arguments() {
5064
@Test
5165
public void setBrowserLocation() {
5266
ChromeOptions options = new ChromeOptions();
53-
67+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
5468
options.setBinary(getChromeLocation());
5569

5670
driver = new ChromeDriver(options);
@@ -59,6 +73,7 @@ public void setBrowserLocation() {
5973
@Test
6074
public void extensionOptions() {
6175
ChromeOptions options = new ChromeOptions();
76+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
6277
Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx");
6378
File extensionFilePath = new File(path.toUri());
6479

@@ -74,7 +89,7 @@ public void extensionOptions() {
7489
@Test
7590
public void excludeSwitches() {
7691
ChromeOptions options = new ChromeOptions();
77-
92+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
7893
options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking"));
7994

8095
driver = new ChromeDriver(options);
@@ -83,6 +98,7 @@ public void excludeSwitches() {
8398
@Test
8499
public void loggingPreferences() {
85100
ChromeOptions options = new ChromeOptions();
101+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
86102
LoggingPreferences logPrefs = new LoggingPreferences();
87103
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
88104
options.setCapability(ChromeOptions.LOGGING_PREFS, logPrefs);
@@ -176,6 +192,7 @@ public void disableBuildChecks() throws IOException {
176192

177193
private File getChromeLocation() {
178194
ChromeOptions options = new ChromeOptions();
195+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
179196
options.setBrowserVersion("stable");
180197
DriverFinder finder = new DriverFinder(ChromeDriverService.createDefaultService(), options);
181198
return new File(finder.getBrowserPath());

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

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,19 @@
2727

2828

2929
public class EdgeTest extends BaseTest {
30+
private static Path getUserDataDir() {
31+
String homeDir = System.getProperty("user.home");
32+
Path seleniumDir = Paths.get(homeDir, ".chromium");
33+
if (!Files.exists(seleniumDir)) {
34+
try {
35+
Files.createDirectories(seleniumDir);
36+
} catch (IOException e) {
37+
throw new RuntimeException(e);
38+
}
39+
}
40+
return seleniumDir;
41+
}
42+
3043
@AfterEach
3144
public void clearProperties() {
3245
System.clearProperty(EdgeDriverService.EDGE_DRIVER_LOG_PROPERTY);
@@ -36,13 +49,14 @@ public void clearProperties() {
3649
@Test
3750
public void basicOptions() {
3851
EdgeOptions options = new EdgeOptions();
52+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
3953
driver = new EdgeDriver(options);
4054
}
4155

4256
@Test
4357
public void arguments() {
4458
EdgeOptions options = new EdgeOptions();
45-
59+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
4660
options.addArguments("--start-maximized");
4761

4862
driver = new EdgeDriver(options);
@@ -51,7 +65,7 @@ public void arguments() {
5165
@Test
5266
public void setBrowserLocation() {
5367
EdgeOptions options = new EdgeOptions();
54-
68+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
5569
options.setBinary(getEdgeLocation());
5670

5771
driver = new EdgeDriver(options);
@@ -60,6 +74,7 @@ public void setBrowserLocation() {
6074
@Test
6175
public void extensionOptions() {
6276
EdgeOptions options = new EdgeOptions();
77+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
6378
Path path = Paths.get("src/test/resources/extensions/webextensions-selenium-example.crx");
6479
File extensionFilePath = new File(path.toUri());
6580

@@ -75,7 +90,7 @@ public void extensionOptions() {
7590
@Test
7691
public void excludeSwitches() {
7792
EdgeOptions options = new EdgeOptions();
78-
93+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
7994
options.setExperimentalOption("excludeSwitches", List.of("disable-popup-blocking"));
8095

8196
driver = new EdgeDriver(options);
@@ -84,6 +99,7 @@ public void excludeSwitches() {
8499
@Test
85100
public void loggingPreferences() {
86101
EdgeOptions options = new EdgeOptions();
102+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
87103
LoggingPreferences logPrefs = new LoggingPreferences();
88104
logPrefs.enable(LogType.PERFORMANCE, Level.ALL);
89105
options.setCapability(EdgeOptions.LOGGING_PREFS, logPrefs);
@@ -171,6 +187,7 @@ public void disableBuildChecks() throws IOException {
171187

172188
private File getEdgeLocation() {
173189
EdgeOptions options = new EdgeOptions();
190+
options.addArguments(String.format("--user-data-dir=%s", getUserDataDir()));
174191
options.setBrowserVersion("stable");
175192
DriverFinder finder = new DriverFinder(EdgeDriverService.createDefaultService(), options);
176193
return new File(finder.getBrowserPath());

examples/python/tests/browsers/test_chrome.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@
55
from selenium import webdriver
66
from selenium.webdriver.common.by import By
77

8+
def get_user_data_dir():
9+
home_dir = os.path.expanduser("~")
10+
selenium_dir = os.path.join(home_dir, ".chromium")
11+
if not os.path.exists(selenium_dir):
12+
os.makedirs(selenium_dir)
13+
return selenium_dir
14+
815
def test_basic_options():
916
options = webdriver.ChromeOptions()
17+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1018
driver = webdriver.Chrome(options=options)
1119

1220
driver.quit()
1321

1422

1523
def test_args():
1624
options = webdriver.ChromeOptions()
17-
25+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1826
options.add_argument("--start-maximized")
1927

2028
driver = webdriver.Chrome(options=options)
@@ -25,7 +33,7 @@ def test_args():
2533

2634
def test_set_browser_location(chrome_bin):
2735
options = webdriver.ChromeOptions()
28-
36+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
2937
options.binary_location = chrome_bin
3038

3139
driver = webdriver.Chrome(options=options)
@@ -35,6 +43,7 @@ def test_set_browser_location(chrome_bin):
3543

3644
def test_add_extension():
3745
options = webdriver.ChromeOptions()
46+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
3847
extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx")
3948

4049
options.add_extension(extension_file_path)
@@ -47,7 +56,7 @@ def test_add_extension():
4756

4857
def test_keep_browser_open():
4958
options = webdriver.ChromeOptions()
50-
59+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
5160
options.add_experimental_option("detach", True)
5261

5362
driver = webdriver.Chrome(options=options)
@@ -58,7 +67,7 @@ def test_keep_browser_open():
5867

5968
def test_exclude_switches():
6069
options = webdriver.ChromeOptions()
61-
70+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
6271
options.add_experimental_option('excludeSwitches', ['disable-popup-blocking'])
6372

6473
driver = webdriver.Chrome(options=options)

examples/python/tests/browsers/test_edge.py

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@
55
from selenium import webdriver
66
from selenium.webdriver.common.by import By
77

8+
def get_user_data_dir():
9+
home_dir = os.path.expanduser("~")
10+
selenium_dir = os.path.join(home_dir, ".chromium")
11+
if not os.path.exists(selenium_dir):
12+
os.makedirs(selenium_dir)
13+
return selenium_dir
14+
815
def test_basic_options():
916
options = webdriver.EdgeOptions()
17+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1018
driver = webdriver.Edge(options=options)
1119

1220
driver.quit()
1321

1422

1523
def test_args():
1624
options = webdriver.EdgeOptions()
17-
25+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
1826
options.add_argument("--start-maximized")
1927

2028
driver = webdriver.Edge(options=options)
@@ -25,7 +33,7 @@ def test_args():
2533

2634
def test_set_browser_location(edge_bin):
2735
options = webdriver.EdgeOptions()
28-
36+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
2937
options.binary_location = edge_bin
3038

3139
driver = webdriver.Edge(options=options)
@@ -35,6 +43,7 @@ def test_set_browser_location(edge_bin):
3543

3644
def test_add_extension():
3745
options = webdriver.EdgeOptions()
46+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
3847
extension_file_path = os.path.abspath("tests/extensions/webextensions-selenium-example.crx")
3948

4049
options.add_extension(extension_file_path)
@@ -47,7 +56,7 @@ def test_add_extension():
4756

4857
def test_keep_browser_open():
4958
options = webdriver.EdgeOptions()
50-
59+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
5160
options.add_experimental_option("detach", True)
5261

5362
driver = webdriver.Edge(options=options)
@@ -58,7 +67,7 @@ def test_keep_browser_open():
5867

5968
def test_exclude_switches():
6069
options = webdriver.EdgeOptions()
61-
70+
options.add_argument(f"--user-data-dir={get_user_data_dir()}")
6271
options.add_experimental_option('excludeSwitches', ['disable-popup-blocking'])
6372

6473
driver = webdriver.Edge(options=options)

0 commit comments

Comments
 (0)