Playwright让网页对话框处理变得更加快捷!网页对话框是在网页上出现的常见弹窗,包括Alert、Confirm和Prompt等。这些对话框通常需要用户输入信息或进行某些选择,但是在自动化测试中处理它们可能会很棘手。Playwright是一个强大的自动化测试工具,它提供了一种简单且可靠的方法来处理网页对话框,使测试过程更加高效和流畅。
默认情况下,对话框是由Playwright自动关闭的,所以你不必处理它们。但是我们也可以通过page.onDialog()方法进行处理。onDialog()方法的作用是监听页面上的对话框事件,并在对话框出现时执行相应的操作。你可以在触发对话框的操作之前将对话框处理程序注册为dialog.accept()或dialog.dismiss()。
page.onDialog(dialog -> dialog.accept());
page.getByRole(AriaRole.BUTTON).click();
我们在点击按钮Trigger an Alert后,会弹出提示框,当点击完确定按钮后,就会显示3,You clicked on Ok button
// alert
page.onDialog(dialog -> {
System.out.println(String.format("Dialog message: %s", dialog.message()));
dialog.accept();
});
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Trigger an Alert")).click();
我们在点击按钮Trigger a Confirmation后,会弹出提示框,当点击完确定按钮后,就会显示Data saved successfully!,点击取消按钮,就会显示Save Canceled!
// confirm
page.onDialog(dialog -> {
System.out.println(String.format("Dialog message: %s", dialog.message()));
dialog.accept();
//dialog.dismiss();
});
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Trigger a Confirmation")).click();
三.Prompt
我们在点击按钮Trigger a Prompt后,会弹出提示框,在输入框输入数字,点击完确定按钮后,就会显示You have entered number: 100,点击取消按钮,就会显示You have entered number: null
// prompt
page.onDialog(dialog -> {
System.out.println(String.format("Dialog message: %s", dialog.message()));
dialog.accept("100");
//dialog.dismiss();
});
page.getByRole(AriaRole.BUTTON, new Page.GetByRoleOptions().setName("Trigger a Prompt")).click();
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!