Skip to content

Commit de06c32

Browse files
authored
Fix Selenium 4 fundamentals (#268)
1 parent a6b4186 commit de06c32

File tree

9 files changed

+21
-29
lines changed

9 files changed

+21
-29
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,19 +84,19 @@ For Eclipse, we recommend enabling Gradle integration through the official [Buil
8484

8585
To build **Selenium Foundation** from the command line:
8686

87-
> **`gradle build`**
87+
> **`./gradlew build`**
8888
8989
Use the `install` task to install SNAPSHOT builds in your local Maven repository:
9090

91-
> **`gradle install`**
91+
> **`./gradlew install`**
9292
9393
#### Running Browser Unit Tests
9494

9595
By default, the unit tests that run after the build completes are the support feature tests (which don't require a browser). The Gradle project file provides a set of browser profiles, one for each supported browser. By specifying one of these profiles, you activate dependencies, settings, and driver plug-in for the corresponding browser.
9696

97-
> **`gradle test -Pbrowsers=espresso`** # run Android Espresso unit tests
98-
> **`gradle test -Pbrowsers=filefox -Ppersonality=firefox.headless`** # run Mozilla Firefox unit tests in "headless" mode
99-
> **`gradle test -Pbrowsers=htmlunit -Ppersonality=htmlunit.nojs`** # run HtmlUnit unit tests without JavaScript support
97+
> **`./gradlew test -Pbrowsers=espresso`** # run Android Espresso unit tests
98+
> **`./gradlew test -Pbrowsers=firefox -Ppersonality=firefox.headless`** # run Mozilla Firefox unit tests in "headless" mode
99+
> **`./gradlew test -Pbrowsers=htmlunit -Ppersonality=htmlunit.nojs`** # run HtmlUnit unit tests without JavaScript support
100100
101101
The `personality` property directs **Selenium Foundation** to run the unit tests on browsers with the specified named capabilities. Available personalities are defined by each driver plug-in, and the list of personalities supported by the current Grid is shown in the console output. For example:
102102

docs/ConfiguringProjectSettings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ To run the unit tests on a specific browser, add the corresponding option to the
120120

121121
| Test Runner | Command Line Example | Description |
122122
|---|---|---|
123-
| Gradle | `gradle test -Pbrowsers=htmlunit` | Run **Selenium Foundation** unit tests on the HtmlUnit headless browser |
123+
| Gradle | `./gradlew test -Pbrowsers=htmlunit` | Run **Selenium Foundation** unit tests on the HtmlUnit headless browser |
124124
| `mvn-build` | `./mvn-build.sh -b espresso` | Build **Selenium Foundation** and run the Android Espresso unit tests|
125125

126126
#### Desktop Browser Support

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
profile=selenium4
2-
version=27.0.4-SNAPSHOT
3-
browsers=chrome
2+
version=28.0.0-SNAPSHOT
3+
browsers=firefox
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

selenium4Deps.gradle

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ sourceSets {
2525
dependencies {
2626
constraints {
2727
api 'com.nordstrom.tools:testng-foundation:4.0.4-j8'
28-
api 'org.seleniumhq.selenium:selenium-grid:4.17.0'
29-
api 'org.seleniumhq.selenium:selenium-support:4.17.0'
30-
api 'org.seleniumhq.selenium:selenium-chrome-driver:4.17.0'
31-
api 'org.seleniumhq.selenium:selenium-edge-driver:4.17.0'
32-
api 'org.seleniumhq.selenium:selenium-firefox-driver:4.17.0'
28+
api 'org.seleniumhq.selenium:selenium-grid:4.18.1'
29+
api 'org.seleniumhq.selenium:selenium-support:4.18.1'
30+
api 'org.seleniumhq.selenium:selenium-chrome-driver:4.18.1'
31+
api 'org.seleniumhq.selenium:selenium-edge-driver:4.18.1'
32+
api 'org.seleniumhq.selenium:selenium-firefox-driver:4.18.1'
3333
api 'org.seleniumhq.selenium:selenium-opera-driver:4.4.0'
34-
api 'org.seleniumhq.selenium:selenium-safari-driver:4.17.0'
35-
api 'org.seleniumhq.selenium:htmlunit3-driver:4.17.0'
34+
api 'org.seleniumhq.selenium:selenium-safari-driver:4.18.1'
35+
api 'org.seleniumhq.selenium:htmlunit3-driver:4.18.1'
3636
api 'com.codeborne:phantomjsdriver:1.5.0'
3737
api 'org.apache.httpcomponents:httpclient:4.5.14'
3838
api 'org.eclipse.jetty:jetty-servlet:9.4.50.v20221201'
@@ -50,9 +50,6 @@ dependencies {
5050
api 'com.nordstrom.tools:testng-foundation'
5151
api 'org.seleniumhq.selenium:selenium-grid'
5252
api 'org.seleniumhq.selenium:selenium-support'
53-
api 'org.seleniumhq.selenium:selenium-chrome-driver' // temporary
54-
api 'org.seleniumhq.selenium:htmlunit3-driver' // temporary
55-
api 'com.codeborne:phantomjsdriver' // temporary
5653
api 'org.apache.httpcomponents:httpclient'
5754
api 'org.eclipse.jetty:jetty-servlet'
5855
api 'org.jsoup:jsoup'

src/main/java/com/nordstrom/automation/selenium/plugins/FirefoxCaps.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ private FirefoxCaps() {
2727
"{\"browserName\":\"firefox\"}";
2828

2929
private static final String BASELINE =
30-
"{\"browserName\":\"firefox\",\"marionette\":true," +
30+
"{\"browserName\":\"firefox\"," +
3131
"\"nord:options\":{\"personality\":\"firefox\"," +
3232
"\"pluginClass\":\"com.nordstrom.automation.selenium.plugins.FirefoxPlugin\"}}";
3333

3434
private static final String HEADLESS =
35-
"{\"browserName\":\"firefox\",\"marionette\":true," +
35+
"{\"browserName\":\"firefox\"," +
3636
"\"moz:firefoxOptions\":{\"args\":[\"-headless\"]}," +
3737
"\"nord:options\":{\"personality\":\"firefox.headless\"," +
3838
"\"pluginClass\":\"com.nordstrom.automation.selenium.plugins.FirefoxPlugin\"}}";

src/selenium4/java/com/nordstrom/automation/selenium/SeleniumConfig.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ public class SeleniumConfig extends AbstractSeleniumConfig {
326326
"io.opentelemetry.sdk.common.Clock",
327327
"io.opentelemetry.sdk.OpenTelemetrySdk",
328328
"io.opentelemetry.semconv.SemanticAttributes",
329+
"io.opentelemetry.extension.incubator.trace.ExtendedSpan",
329330
"org.zeromq.Utils",
330331
"dev.failsafe.Call",
331332
"graphql.Assert",
@@ -348,9 +349,7 @@ public class SeleniumConfig extends AbstractSeleniumConfig {
348349
"org.reactivestreams.Publisher",
349350
"org.openqa.selenium.manager.SeleniumManager",
350351
"org.apache.commons.exec.Executor",
351-
"io.netty.buffer.ByteBufUtil",
352-
// "org.asynchttpclient.Dsl",
353-
// "com.typesafe.netty.HandlerPublisher",
352+
"io.netty.buffer.ByteBufUtil"
354353
};
355354

356355
static {

src/selenium4/java/com/nordstrom/automation/selenium/plugins/HtmlUnitPlugin.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,8 @@ public HtmlUnitPlugin() {
3737
"org.eclipse.jetty.util.IO", "org.eclipse.jetty.io.EndPoint",
3838
"org.eclipse.jetty.websocket.common.Parser",
3939
"org.eclipse.jetty.websocket.api.Session",
40-
// "net.sourceforge.htmlunit.xpath.XPath",
41-
// "net.sourceforge.htmlunit.corejs.javascript.Token",
42-
// "net.sourceforge.htmlunit.cyberneko.filters.DefaultFilter",
43-
// "com.gargoylesoftware.css.util.LangUtils",
4440
"org.apache.commons.net.io.Util", "org.eclipse.jetty.client.Origin",
4541
"org.eclipse.jetty.http.Syntax", "org.brotli.dec.Utils",
46-
// "com.nordstrom.automation.selenium.htmlunit.HtmlUnitDriverInfo",
4742
"net.bytebuddy.matcher.ElementMatcher"
4843
};
4944

src/test/java/com/nordstrom/automation/selenium/junit/JUnitModelTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
public class JUnitModelTest extends JUnitTargetRoot {
1818

1919
@Test
20+
@Ignore
2021
@TargetPlatform(WEB_APP_NAME)
2122
public void testBasicPage() {
2223
ModelTestCore.testBasicPage(this);

0 commit comments

Comments
 (0)