Skip to content

Commit

Permalink
fix: allow comma in broserOptions (#1872)
Browse files Browse the repository at this point in the history
* fix: allow comma in broserOptions

There are options that needs a comma like in `--window-size=nnn,nnn`

* fix: change regex to support comma and space in separators, add test for broserOptions

* allow tab and NL as separator

* import cleanup
  • Loading branch information
manolo authored Feb 21, 2025
1 parent 662e2b4 commit 816979d
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,36 @@ public void parseRunLocallySystemProperty() {
Parameters.parseRunLocally("foo1-1-1"));
}

@Test
public void setChromeOptionsSystemProperty() {
try {
Parameters.setChromeOptions("--foo");
Assertions.assertArrayEquals(new String[] { "--foo", },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--foo --bar --x");
Assertions.assertArrayEquals(new String[] { "--foo", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--foo,--bar, --x");
Assertions.assertArrayEquals(new String[] { "--foo", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--window-size=\"nnn,nnn\"");
Assertions.assertArrayEquals(new String[] { "--window-size=\"nnn,nnn\"", },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--window-size=nnn,nnn,--bar,--x");
Assertions.assertArrayEquals(
new String[] { "--window-size=nnn,nnn", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions(
"--foo, --bar, --window-size=400,100\n--user-agent=\"Mozilla,5.0\"\t--proxy='1.1.1.1,8080'");
Assertions.assertArrayEquals(
new String[] { "--foo", "--bar", "--window-size=400,100",
"--user-agent=\"Mozilla,5.0\"", "--proxy='1.1.1.1,8080'" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("");
Assertions.assertArrayEquals(new String[] {}, Parameters.getChromeOptions());
} finally {
Parameters.setChromeOptions(null);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,36 @@ public void parseRunLocallySystemProperty() {
Parameters.parseRunLocally("foo1-1-1"));
}

@Test
public void setChromeOptionsSystemProperty() {
try {
Parameters.setChromeOptions("--foo");
Assert.assertArrayEquals(new String[] { "--foo", },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--foo --bar --x");
Assert.assertArrayEquals(new String[] { "--foo", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--foo,--bar, --x");
Assert.assertArrayEquals(new String[] { "--foo", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--window-size=\"nnn,nnn\"");
Assert.assertArrayEquals(new String[] { "--window-size=\"nnn,nnn\"", },
Parameters.getChromeOptions());
Parameters.setChromeOptions("--window-size=nnn,nnn,--bar,--x");
Assert.assertArrayEquals(
new String[] { "--window-size=nnn,nnn", "--bar", "--x" },
Parameters.getChromeOptions());
Parameters.setChromeOptions(
"--foo, --bar, --window-size=400,100\n--user-agent=\"Mozilla,5.0\"\t--proxy='1.1.1.1,8080'");
Assert.assertArrayEquals(
new String[] { "--foo", "--bar", "--window-size=400,100",
"--user-agent=\"Mozilla,5.0\"", "--proxy='1.1.1.1,8080'" },
Parameters.getChromeOptions());
Parameters.setChromeOptions("");
Assert.assertArrayEquals(new String[] {}, Parameters.getChromeOptions());
} finally {
Parameters.setChromeOptions(null);
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@ public static void setReadTimeout(int readTimeout) {
* a list of options separated with comma or spaces
*/
public static void setChromeOptions(String options) {
chromeOptions = options == null || options.isBlank() ? new String[0] : options.trim().split("[ ,]+");
chromeOptions = options == null || options.isBlank()? new String[0] : options.trim().split("[,\\s]+(?=--)");
}

/**
Expand Down

0 comments on commit 816979d

Please sign in to comment.