新一代最强开源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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

行动吧,在路上总比一直观望的要好,未来的你肯定会感 谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/601234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xhci 数据结构

xhci 数据结构 xhci 数据结构主要在手册上有详细的定义,本文根据手册进行归纳总结: 中断关注的包括: device contexttrb ringtrb device context设备上下文 设备上下文数据结构由xHC管理,用于向系统软件报告设备配置和状态信息。…

用动态IP采集数据总是掉线是为什么?该怎么解决?

动态IP可以说是做爬虫、采集数据、搜集热门商品信息中必备的代理工具,但在爬虫的使用中,总是会遇到动态IP掉线的情况,从而影响使用效率,本文将探讨动态IP代理掉线的几种常见原因,并提供解决方法,以帮助大家…

Kubernetes有状态任务

有状态任务是指执行期间需要维护一定状态或数据的任务或工作。这些任务通常需要记录并维护数据、状态、上下文或进度信息,并且这些信息在任务执行期间保持持久。有状态任务的解决目标是确保任务在不同的环境、节点或时间点之间维持一致的状态和标识。这种任务通常需…

电商技术揭秘十二:云计算在电商中的应用场景

相关系列文章 电商技术揭秘一:电商架构设计与核心技术 电商技术揭秘二:电商平台推荐系统的实现与优化 电商技术揭秘三:电商平台的支付与结算系统 电商技术揭秘四:电商平台的物流管理系统 电商技术揭秘五:电商平台…

【LeetCode笔记】巧妙写出二叉树前中后序遍历

忘记是在哪里看到的了,有一种画图的办法可以巧妙写出二叉树前中后序遍历。 一条根本原则:一根线从二叉树的根的左部不间断地画到根的右部,要绕整个二叉树一圈。 前序遍历,就让每个节点拥有一个左侧的“句柄”; 中序遍历…

代码随想录|Day34|动态规划03|343.整数拆分、96.不同的二叉搜索树

343.整数拆分 动规五步: 确定 dp[i] 含义:拆分数字 i,可以获得的最大乘积为 dp[i]。递推公式:dp[i] max(j * (i - j), j * dp[i - j])。i 可以被拆解为两个数(j 和 i - j)或者多个数(j 和 dp[i…

苍穹外卖Day10——总结10

前期文章 文章标题地址苍穹外卖Day01——总结1https://lushimeng.blog.csdn.net/article/details/135466359苍穹外卖Day02——总结2https://lushimeng.blog.csdn.net/article/details/135484126苍穹外卖Day03——总结3https://blog.csdn.net/qq_43751200/article/details/1363…

JS 轮播图点击左右切换

点击左右按钮实现轮播图切换图片 style: *{margin: 0;padding: 0;margin: auto;}#img1{width: 300px;height: 300px;position: relative;}#butto1{width: 50px;height: 100px;font-size: 50px;border: none;background-color: hsla(0, 0%, 0%, 0.2);position: abs…

管易云和金蝶云星空接口打通对接实战

管易云和金蝶云星空接口打通对接实战 对接系统:管易云 管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌,先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站建设等产品和服务,涵盖电商业务全流程。 接入系统&#xff1…

用二八定律分析零售数据,不就更直观了吗?

20%的商品贡献了80%的销售金额,你会不会想知道这些商品的销售金额、毛利、销售金额累计占比、毛利累计占比,会不会想知道这些商品在各个门店的销售表现?看是否能进一步提高销售金额,提高毛利。这样的报表该怎么做?奥威…

jdk8新特性 方法引用

简介 lambda表达式是用来简化匿名内部类的方法引用 使用来简化 lambda表达式的 方法引用的标志 两个冒号 静态方法 静态方法 class CompareByAge {public static int compare(Student o1, Student o2) {return o1.getAge() - o2.getAge();} }静态方法引用 Arrays.sort(students…

学习人工智能:为何PyTorch深度学习框架不可或缺

在人工智能(AI)的浩瀚领域中,深度学习作为其核心分支,正以其强大的数据处理能力、模式识别能力和预测能力引领着科技的飞速发展。而在深度学习的众多工具与框架中,PyTorch无疑是一颗璀璨的明星。本文将从PyTorch的特点…