使用Playwright for Java测试对话框是否为弹出窗口
我有一个关于Playwright Java中对话框的疑问。
我的理解是可以通过 onDialog(), offDialog(), onceDialog() 来处理对话框,但在你触发按钮或类似操作时,它们并不适合测试对话框是否会显示。
例如,我尝试过的代码:
page.onceDialog(dialog -> {
assertTrue(true);
dialog.accept();
});
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Open Dialog")).click();
……没有处理对话框从未显示的情况。
如果有一个简单的 waitForDialog() 方法,能够像对话框已显示或未显示那样进行完整测试,那就好了。
参考:
解决方案
使用 AtomicBoolean 类来解决。
AtomicBoolean displayed = new AtomicBoolean(false);
page.onceDialog(dialog -> {
dialog.accept();
displayed.set(true);
});
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Open Dialog")).click()
assertTrue(displayed.get());
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。