Comments (5)
geckodriver and the ATH need to be aligned (there is a certain range of compatability and firefox is moving towards a new BiDi mode for webdriver (whatever that means?) - however we are not aligning them AFAICT and they are updated differently
It may be worth rethiking how we run the ATH so that we use selenium/firefox in a docker container separate from the SUT (and maven) aka remote-web-driver. This is how I always run locally and tend to not hit these types of issues.
from acceptance-test-harness.
It may be worth rethiking how we run the ATH so that we use selenium/firefox in a docker container separate from the SUT (and maven) aka remote-web-driver. This is how I always run locally and tend to not hit these types of issues.
Agree, That is also the way I run it since I decided I could not keep a native out of date web browser installation and keep a safe laptop at the same time...
from acceptance-test-harness.
Hi, I have done some testing and I am running the ATH tests using [selenium/standalone-firefox:4.11.0] and it is failing (https://hub.docker.com/layers/selenium/standalone-firefox/4.11.0/images/sha256-50a4620105b05ac3472065caf13f41209a894da0441a85816303c8d888ff5260?context=explore)
When running this locally, I am getting lots of tests failing with the same error message and stack trace. This may mean that when upgrading to a newer version of firefox we have some patching to do to get it working smoothly.
Here is an example of a test failing:
[ERROR] plugins.GroovyPluginTest.run_groovy -- Time elapsed: 0.345 s <<< ERROR!
com.google.inject.ProvisionException:
Unable to provision, see the following errors:
1) [Guice/ErrorInCustomProvider]: SessionNotCreatedException: Could not start a new session. Response code 500. Message: Could not start a new session. Unable to obtain: Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 116.0, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: {httpProxy: 192.168.176.1:62473, proxyType: manual, sslProxy: 192.168.176.1:62473}, se:noVncPort: 7900, se:vncEnabled: true}, error class LinkedHashMap cannot be cast to class Proxy (LinkedHashMap is in module java.base of loader 'bootstrap'; Proxy is in unnamed module of loader Bootstrap$PossessiveClassLoader @404b9385)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.90.1-microsoft-standard-WSL2', java.version: '11.0.20'
Driver info: driver.version: unknown
Host info: host: 'f05f320f3505', ip: '172.17.0.2'
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.90.1-microsoft-standard-WSL2', java.version: '11.0.20'
Driver info: driver.version: unknown
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15'
Driver info: RemoteWebDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: Proxy(manual, http=192.168....}]}]
Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: Proxy(manual, http=192.168....}
at FallbackConfig.createWebDriver(FallbackConfig.java:315)
\_ installed by: World -> Modules$OverrideModule -> Modules$OverrideModule -> FallbackConfig
at DiagnosticRule.driver(DiagnosticRule.java:18)
\_ for field driver
while locating DiagnosticRule
Learn more:
https://github.com/google/guice/wiki/ERROR_IN_CUSTOM_PROVIDER
1 error
======================
Full classname legend:
======================
Bootstrap$PossessiveClassLoader: "org.openqa.selenium.grid.Bootstrap$PossessiveClassLoader"
DiagnosticRule: "org.jenkinsci.test.acceptance.junit.DiagnosticRule"
FallbackConfig: "org.jenkinsci.test.acceptance.FallbackConfig"
Modules$OverrideModule: "com.google.inject.util.Modules$OverrideModule"
Proxy: "org.openqa.selenium.Proxy"
RemoteWebDriver: "org.openqa.selenium.remote.RemoteWebDriver"
SessionNotCreatedException: "org.openqa.selenium.SessionNotCreatedException"
World: "org.jenkinsci.test.acceptance.guice.World"
========================
End of classname legend:
========================
at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1151)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1186)
at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.addRule(JenkinsAcceptanceTestRule.java:139)
at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.collectGlobalRules(JenkinsAcceptanceTestRule.java:115)
at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.decorateWithRules(JenkinsAcceptanceTestRule.java:84)
at org.jenkinsci.test.acceptance.junit.JenkinsAcceptanceTestRule$1.evaluate(JenkinsAcceptanceTestRule.java:53)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:257)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: Could not start a new session. Unable to obtain: Capabilities {acceptInsecureCerts: true, browserName: firefox, browserVersion: 116.0, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: {httpProxy: 192.168.176.1:62473, proxyType: manual, sslProxy: 192.168.176.1:62473}, se:noVncPort: 7900, se:vncEnabled: true}, error class java.util.LinkedHashMap cannot be cast to class org.openqa.selenium.Proxy (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; org.openqa.selenium.Proxy is in unnamed module of loader org.openqa.selenium.grid.Bootstrap$PossessiveClassLoader @404b9385)
For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location/
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.90.1-microsoft-standard-WSL2', java.version: '11.0.20'
Driver info: driver.version: unknown
Host info: host: 'f05f320f3505', ip: '172.17.0.2'
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '5.15.90.1-microsoft-standard-WSL2', java.version: '11.0.20'
Driver info: driver.version: unknown
Build info: version: '4.11.0', revision: '040bc5406b'
System info: os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '11.0.15'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Command: [null, newSession {capabilities=[Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: Proxy(manual, http=192.168....}]}]
Capabilities {acceptInsecureCerts: true, browserName: firefox, moz:debuggerAddress: true, moz:firefoxOptions: {prefs: {dom.disable_beforeunload: false, dom.max_chrome_script_run_time: 600000, dom.max_script_run_time: 600000, intl.accept_languages: en}}, proxy: Proxy(manual, http=192.168....}
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:140)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:96)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:68)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163)
at org.openqa.selenium.remote.TracedCommandExecutor.execute(TracedCommandExecutor.java:51)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:518)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:232)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:159)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:139)
at org.jenkinsci.test.acceptance.FallbackConfig.buildRemoteWebDriver(FallbackConfig.java:162)
at org.jenkinsci.test.acceptance.FallbackConfig.createWebDriver(FallbackConfig.java:149)
at org.jenkinsci.test.acceptance.FallbackConfig.createWebDriver(FallbackConfig.java:315)
at org.jenkinsci.test.acceptance.FallbackConfig$$FastClassByGuice$$a7f2a.GUICE$TRAMPOLINE(<generated>)
at org.jenkinsci.test.acceptance.FallbackConfig$$FastClassByGuice$$a7f2a.apply(<generated>)
at com.google.inject.internal.ProviderMethod$FastClassProviderMethod.doProvision(ProviderMethod.java:260)
at com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:171)
at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
at com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at org.jenkinsci.test.acceptance.guice.TestLifecycle.lambda$scope$0(TestLifecycle.java:58)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45)
at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:50)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:146)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:124)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300)
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148)
... 25 more
I think the Unable to obtain: Capabilities
issue is coming from:
from acceptance-test-harness.
error class java.util.LinkedHashMap cannot be cast to class org.openqa.selenium.Proxy
oohkay....
from acceptance-test-harness.
Can confirm that this works in 4.12.0 as that contains this fix. By works I mean that the tests pass.
from acceptance-test-harness.
Related Issues (20)
- MockUpdateCenter regularly has corrupted plugin downloads HOT 1
- `plugins.JobDslPluginTest#should_create_job` failed on 2.415
- `plugins.AntPluginTest` fails on 2.417 HOT 1
- `plugins.JobDslPluginTest` fails on 2.417 HOT 1
- Test on Java 21 HOT 2
- ATH container is broken on AArch64 HOT 1
- `plugins.OwnershipPluginTest.explicitly_set_ownership` is failing HOT 2
- Too much logging from the MockUpdateCenter
- remove selenium:lift or fix renovate config HOT 1
- All tests that touch script security approval are flakey HOT 2
- plugins.GitLabPluginTest.testGitLabMultibranchPipeline is flaky HOT 1
- Add option to skip the `MockUpdateCenter`
- multiple tests regressed (due to trilead removal from ssh-credentials?) HOT 7
- SSH agent tests failing on default branch HOT 6
- `SshSlavesPluginTest` failing with `NoSuchElementException` on default branch HOT 1
- `ConfigFileProviderTest` failing with `NoSuchElementException` on default branch HOT 1
- `FreestyleJobTest#should_visit_build_with_permalink` fails on 2.453+ HOT 1
- `CreateItemTest#duplicate_item_name_displays_error` fails on 2.453+ HOT 1
- Remove workaround in `FreestyleJobTest#should_visit_build_with_permalink`
- Remove workaround in `CreateItemTest#duplicate_item_name_displays_error`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acceptance-test-harness.