TestCafe with Electron:确定应用程序在 Windows 桌面上是否可见

TestCafe with Electron: Determine if app is visible on Windows desktop

我们的 Electron 应用程序开始最小化到 Windows 托盘通知区域,即在桌面上不可见。

如果我尝试通过 methods such as this or as 获取可见性信息,请始终检查 'visible' 属性 returns true

例如,下面始终returns true 应用程序是最小化到通知区域还是在桌面上可见:

if(await Selector('button', { visibilityCheck: true }).visible)
    console.log("VISIBLE");
  else
    console.log("NOT VISIBLE");

作为万圣节,我也曾尝试检查 'focused' 属性 但也总是 returns true (在至少 'body') 无论应用程序在桌面上的可见性如何。

有谁知道通过 TestCafe 确定应用程序是否在 Windows 桌面上可见的可靠方法?

谢谢 米

可以使用 Electron 的 API 来完成。详情请参考以下文章:https://electronjs.org/docs/api/browser-window#winisvisible .

这里是测试代码:

import { ClientFunction } from 'testcafe';
fixture `Electron page`
    .page ``;

const isDocumentHidden = ClientFunction(() => {
    const remote = require('electron').remote;
    const win = remote.getCurrentWindow();
    return !win.isVisible();
});

test('is hidden', async t => {
    console.log(await isDocumentHidden());
});

我检查了您项目中的代码,它按预期工作。