testing - TestCafe 与 Electron : show and hide main window

标签 testing automated-tests electron testcafe robotjs

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

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

自动化此操作是possible with RobotJs (即单击硬编码的 XY 坐标),但即使使用标准化坐标,在多种分辨率下这也有点不稳定。

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

最佳答案

已关注 Alex's example在同事的帮助下,可以使用 TestCafe ClientFunctionElectron native functions :

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

关于testing - TestCafe 与 Electron : show and hide main window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58386602/

相关文章:

testing - 前端测试-工具Selenium RC

javascript - 如何从 TestCafe 选择器中提取底层 HTML dom 元素?

ios - WAXSIM 使用 Jenkins 和 xcodebuild 自动测试和构建

automated-tests - 测试每个页面不超过 Symfony 中允许的 SQL 计数?

android - Robotium 是否可以可靠地测试 Activity 和 fragment 的启动速度?

windows-installer - 如何为我的 Electron 应用程序制作一个简单的自动更新器

electron - setInterval 在使用 Electron 一小时后停止

python - 如何一次并行执行多个pytest套件(文件)

python - 制作程序来自动点击网站

javascript - 用 Electron 本地保存文件