新一代最强开源UI自动化测试神器Playwright(Java版)(对话框处理)

Playwright让网页对话框处理变得更加快捷!网页对话框是在网页上出现的常见弹窗,包括Alert、Confirm和Prompt等。这些对话框通常需要用户输入信息或进行某些选择,但是在自动化测试中处理它们可能会很棘手。Playwright是一个强大的自动化测试工具,它提供了一种简单且可靠的方法来处理网页对话框,使测试过程更加高效和流畅‍‍。

默认情况下,对话框是由Playwright自动关闭的,所以你不必处理它们。但是我们也可以通过page.onDialog()方法进行处理。onDialog()方法的作用是监听页面上的对话框事件,并在对话框出现时执行相应的操作。你可以在触发对话框的操作之前将对话框处理程序注册为dialog.accept()或dialog.dismiss()。

page.onDialog(dialog -> dialog.accept());
page.getByRole(AriaRole.BUTTON).click();

01处理 Alert 弹框

我们在点击按钮Trigger an Alert后,会弹出提示框,当点击完确定按钮后,就会显示3,You clicked on Ok button

新一代最强开源UI自动化测试神器Playwright(Java版)(对话框处理)_第1张图片

// 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();

02 处理 Confirm 弹框

我们在点击按钮Trigger a Confirmation后,会弹出提示框,当点击完确定按钮后,就会显示Data saved successfully!,点击取消按钮,就会显示Save Canceled!

新一代最强开源UI自动化测试神器Playwright(Java版)(对话框处理)_第2张图片

// 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

03 处理 Prompt 弹框

我们在点击按钮Trigger a Prompt后,会弹出提示框,在输入框输入数字,点击完确定按钮后,就会显示You have entered number: 100,点击取消按钮,就会显示You have entered number: null

新一代最强开源UI自动化测试神器Playwright(Java版)(对话框处理)_第3张图片

// 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();

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

你可能感兴趣的:(自动化测试,软件测试工程师,软件测试,ui,软件测试,功能测试,职场和发展,自动化测试,程序人生)