我如何在 Spectron 中“等待”关闭 window?
How can I `await` closing of window in Spectron?
我正在开发 Electron 应用程序,它以模式 windows 处理一些逻辑。
那些 windows 正在等待异步操作解决,然后自行关闭。现在我正在努力使用 Spectron 和 Jest 来测试这种行为:似乎没有方法可以捕获 window 的关闭然后继续进行另一个测试。
目前我的密码是
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);
});
感谢任何帮助。
await app.client.waitUntil(async () => (await app.client.getWindowCount()) === 1);
我正在开发 Electron 应用程序,它以模式 windows 处理一些逻辑。 那些 windows 正在等待异步操作解决,然后自行关闭。现在我正在努力使用 Spectron 和 Jest 来测试这种行为:似乎没有方法可以捕获 window 的关闭然后继续进行另一个测试。
目前我的密码是
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);
});
感谢任何帮助。
await app.client.waitUntil(async () => (await app.client.getWindowCount()) === 1);