2

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

用户通过单击应用程序通知托盘图标强制应用程序显示在桌面上。

使用 RobotJs(即单击硬编码的 XY 坐标)可以自动执行此操作,但即使使用归一化坐标,这在多个分辨率下也有点不稳定。

通过 TestCafe,我想根据测试的需要以编程方式显示和隐藏主窗口。

4

1 回答 1

3

按照Alex 的示例并在同事的帮助下,可以使用 TestCafe ClientFunctionElectron 本机函数

import { ClientFunction } from 'testcafe';

fixture `Electron page`
        .page ``;

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

const hideWindow = ClientFunction(() => {
  const remote = require('electron').remote;
  const win = remote.getCurrentWindow();
  win.hide();
});

const showWindow = ClientFunction(() => {
  const remote = require('electron').remote;
  const win = remote.getCurrentWindow();
  win.show();
});

test('My test', async (t) => {

  await showWindow();
  console.log(await isWindowVisible());
  await t.wait(2000);
  await hideWindow();
  console.log(await isWindowVisible());
});
于 2019-10-15T02:55:23.243 回答