RFC: Screen capturing utility (for failed headful tests)

Andy Goryachev andy.goryachev at oracle.com
Fri Mar 22 20:49:03 UTC 2024


Dear colleagues:

What do you think of the following idea:




The Problem
===========

Automated headful tests might fail intermittently or on specific platform(s).  After the fact, it's nearly impossible to understand why this happened.



Solution
========

Implement a JUnit5 TestWatcher which captures the primary screen pixels and dumps them as base64-encoded PNG images in stderr (or stdout).  The logs are typically preserved, so the screenshots can be analyzed after the fact.

As far as I know, there is no way to configure JUnit to apply this to each test using command line option, so each test needs to have the following annotation added:

@ExtendWith(ScreenCaptureTestWatcher.class)

For more details please see this ticket [0] and the draft PR [1].



Possible Issues
===============


  *   the size of the image can be quite large, for example retina mac increases the size of the log by approximately 4MB (for each image).
  *   a misconfiguration might cause every test to fail, resulting in very large logs



References
==========

[0] https://bugs.openjdk.org/browse/JDK-8328716

[1] https://github.com/openjdk/jfx/pull/1415




What do you think?

Cheerio,
-andy


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20240322/6ce8d65a/attachment.htm>


More information about the openjfx-dev mailing list