@testdriverai/runner 7.9.143-test → 7.9.145-test
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/automation.js +6 -2
- package/package.json +1 -1
package/lib/automation.js
CHANGED
|
@@ -740,11 +740,15 @@ class Automation extends EventEmitter {
|
|
|
740
740
|
if (maxPixel <= 1) {
|
|
741
741
|
console.warn(`[automation] Screenshot attempt ${attempt}/${maxAttempts}: image is all black (max pixel=${maxPixel})`);
|
|
742
742
|
if (attempt < maxAttempts) {
|
|
743
|
-
// Try to heal: poke the display to trigger a redraw
|
|
743
|
+
// Try to heal: poke the display to trigger a redraw.
|
|
744
|
+
// NOTE: do NOT send the `super` key here — on Linux desktops it's
|
|
745
|
+
// bound to the Activities overview / app launcher, which steals
|
|
746
|
+
// focus from (and visually hides) the active window. That made
|
|
747
|
+
// Chrome appear to "go missing" right after a flaky black capture.
|
|
748
|
+
// The xset display-wake calls are what actually recover the screen.
|
|
744
749
|
try {
|
|
745
750
|
await runPyAutoGUI(
|
|
746
751
|
"import subprocess; " +
|
|
747
|
-
"subprocess.run(['xdotool', 'key', '--clearmodifiers', 'super'], timeout=5); " +
|
|
748
752
|
"subprocess.run(['xset', 's', 'off'], timeout=5); " +
|
|
749
753
|
"subprocess.run(['xset', 's', 'noblank'], timeout=5); " +
|
|
750
754
|
"subprocess.run(['xset', '-dpms'], timeout=5)",
|