testing - 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 桌面上可见的可靠方法?
谢谢米
解决方案
它可以使用 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());
});
我检查了您项目上的代码,它按预期工作。
推荐阅读
- json - 是否可以在满足条件时使用 JSON 将用户重定向到不同的视图
- c++ - 如果我在代码块中运行这个程序,我没有得到正确的 ans,但如果我调试它,我就会得到正确的 ans。它正在发生一圈又一圈
- r - R - 数据框之间的匹配列
- c - 尝试切换字符串中的字母时出现总线错误
- latex - 使用 Science.bst 模板文件,无法正确显示期刊文章的参考文献
- r - 将数据框中的列文本转换为一行内的多行
- r - 在 ggplot 上显示多行并带有分组(闪避)条
- javascript - 运行 JavaScript x 次,每次数组中的数字增加 1
- assembly - 这个 OR 与零 MIPS 指令有什么意义?
- javascript - 如何使底部标签栏仅出现在反应导航中嵌套堆栈的默认屏幕上?