Skip to content

testcontainers 1.16.2 and selenium 4.0.0 throws NPE #4674

@SiKing

Description

@SiKing

Just trying this out for first time today.

Have the most trivial test, using information from here https://www.testcontainers.org/modules/webdriver_containers/

This is what I see in my console:

12:57:25.879-0800 [main] [INFO] DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
12:57:26.746-0800 [main] [INFO] DockerClientProviderStrategy - Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
12:57:26.747-0800 [main] [INFO] DockerClientFactory - Docker host IP address is localhost
12:57:26.794-0800 [main] [INFO] DockerClientFactory - Connected to docker: 
  Server Version: 20.10.10
  API Version: 1.41
  Operating System: Linux Mint 19.3
  Total Memory: 15662 MB
12:57:26.798-0800 [main] [INFO] ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
12:57:26.935-0800 [main] [INFO] RegistryAuthLocator - Credential helper/store (docker-credential-secretservice) does not have credentials for index.docker.io
12:57:27.864-0800 [main] [INFO] DockerClientFactory - Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
12:57:27.864-0800 [main] [INFO] DockerClientFactory - Checking the system...
12:57:27.865-0800 [main] [INFO] DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
12:57:28.003-0800 [main] [INFO] DockerClientFactory - ✔︎ Docker environment should have more than 2GB free disk space
12:57:28.008-0800 [main] [INFO] SeleniumUtils - Selenium API version 4.0.0 detected on classpath

This is the stacktrace that I get:

java.lang.NullPointerException
	at org.testcontainers.containers.BrowserWebDriverContainer.retainRecordingIfNeeded(BrowserWebDriverContainer.java:346)
	at org.testcontainers.containers.BrowserWebDriverContainer.afterTest(BrowserWebDriverContainer.java:307)
	at org.testcontainers.containers.GenericContainer.failed(GenericContainer.java:1081)
	at org.testcontainers.containers.FailureDetectingExternalResource$1.evaluate(FailureDetectingExternalResource.java:34)
	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.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:93)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:40)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:529)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:756)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:452)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:210)

This happens at the @Rule, it does not even get to my test code!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions