【问题标题】:How can I `await` closing of window in Spectron?如何在 Spectron 中“等待”关闭窗口?
【发布时间】:2020-03-25 03:01:22
【问题描述】:

我正在处理模式窗口中的一些逻辑的 Electron 应用程序。 这些窗口正在等待异步操作解决,然后自动关闭。现在我正在努力使用 Spectron 和 Jest 测试这种行为:似乎没有任何方法可以捕捉窗口的关闭然后继续进行其他测试。

目前我的代码是

it('doing its job', async () => {
  // awaits and expects that aren't related

  await app.client.click('button[data-role="close"]');
  await new Promise(r => setTimeout(r, 1000));
  expect(await client.getWindowCount()).toBe(1);
});

它有效,但我发现它非常反模式。我想知道是否有任何方法可以做类似的事情

it('doing its job', async () => {
  // awaits and expects that aren't related

  await app.client.click('button[data-role="close"]');
  await app.client.waitUntilWindowCloses(windowIndex);
  expect(await client.getWindowCount()).toBe(1);
});

感谢任何帮助。

【问题讨论】:

    标签: testing electron end-to-end spectron


    【解决方案1】:
    await app.client.waitUntil(async () => (await app.client.getWindowCount()) === 1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-05
      • 2021-05-18
      • 2012-11-08
      • 2014-10-25
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多