Testing 带Electron的TestCafe:显示和隐藏主窗口

Testing 带Electron的TestCafe:显示和隐藏主窗口,testing,automated-tests,electron,testcafe,robotjs,Testing,Automated Tests,Electron,Testcafe,Robotjs,我们的Electron应用程序开始最小化到Windows通知区域,即桌面上不可见 用户通过单击应用程序通知托盘图标,强制应用程序显示在桌面上 这是自动化的(即单击硬编码的XY坐标),但即使使用标准化坐标,在多个分辨率上也有点不稳定 通过TestCafe,我想根据测试需要以编程方式显示和隐藏主窗口 在同事的帮助下,可以使用TestCafe和: import { ClientFunction } from 'testcafe'; fixture `Electron page` .p

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

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

这是自动化的(即单击硬编码的XY坐标),但即使使用标准化坐标,在多个分辨率上也有点不稳定

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

在同事的帮助下,可以使用TestCafe和:

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());
});