TestCafe с Electron: определить, отображается ли приложение на рабочем столе Windows - PullRequest
3 голосов
/ 14 октября 2019

Наше приложение Electron начинает сворачиваться в область уведомлений панели задач Windows, т.е. не отображается на рабочем столе.

Если я пытаюсь получить информацию о видимости через методы, такие как этот или как , описанный здесь , проверка свойства visible всегда возвращает true .

Например, ниже всегда возвращается true независимо от того, свернуто ли приложение в области уведомлений или отображается на рабочем столе:

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

Как град. Я также пытался проверить свойство «focus», но оно также всегда возвращает true (по крайней мере, для «body») независимо от видимости приложения на рабочем столе.

Кто-нибудьзнаете надежный метод с помощью TestCafe, чтобы определить, видимо ли приложение на рабочем столе Windows?

Спасибо m

1 Ответ

3 голосов
/ 14 октября 2019

Это можно сделать с помощью Electron's 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());
});

Я проверил код в вашем проекте, и он работает, как и ожидалось.

...