Skip to content

[🐛 Bug]: Java 11 - TakeScreenshot causes exception #16753

@martingrossmann

Description

@martingrossmann

Description

The getScreenshotAs method causes an AssertionError in JdkHttpMessages.readResponseBody (see #16627).

It seems to be the JDK bug https://bugs.openjdk.org/browse/JDK-8228970 which was already solved. With JDK 17 there is no issue with JDK 17.

The full stack trace is

Caused by: java.lang.AssertionError
	at java.net.http/jdk.internal.net.http.ResponseSubscribers$HttpResponseInputStream.read(ResponseSubscribers.java:408)
	at java.base/java.io.InputStream.readNBytes(InputStream.java:396)
	at java.base/java.io.InputStream.readAllBytes(InputStream.java:333)
	at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.readResponseBody(JdkHttpMessages.java:197)
	at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.extractContent(JdkHttpMessages.java:190)
	at org.openqa.selenium.remote.http.jdk.JdkHttpMessages.createResponse(JdkHttpMessages.java:164)
	at org.openqa.selenium.remote.http.jdk.JdkHttpClient.execute0(JdkHttpClient.java:495)
	at org.openqa.selenium.remote.http.AddSeleniumUserAgent.lambda$apply$0(AddSeleniumUserAgent.java:44)
	at org.openqa.selenium.remote.http.Filter.lambda$andFinally$1(Filter.java:55)
	at org.openqa.selenium.remote.http.jdk.JdkHttpClient.lambda$executeAsync$2(JdkHttpClient.java:388)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

Environment

  • Windows 11
  • JDK 11.0.29
  • Selenium 4.39
  • latest Chrome

Reproducible Code

WebDriver driver = new ChromeDriver();
driver.get("https://the-internet.herokuapp.com/");
File scrFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

ℹ️ Last known working version: 4.38

Metadata

Metadata

Assignees

Labels

C-javaJava BindingsI-defectSomething is not working as intendedI-regressionSomething was working but we "fixed" it

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions