首页 > 解决方案 > TestCafe with Electron:确定应用程序是否在 Windows 桌面上可见

问题描述

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

如果我尝试通过诸如此类此处所述的方法获取可见性信息,则检查“可见”属性始终返回true

例如,无论应用程序是最小化到通知区域还是在桌面上可见,以下内容始终返回true :

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

作为一个冰雹玛丽,我还尝试检查'focused'属性,但无论应用程序在桌面上的可见性如何,它也总是返回true(至少在'body'上)。

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

谢谢米

标签: testingautomationelectrone2e-testingtestcafe

解决方案


它可以使用 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());
});

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


推荐阅读