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

news2024/12/23 23:25:48

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

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

在这里插入图片描述

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双周赛113(枚举、分类讨论 + 二分查找、枚举值域两数之和、换根DP)

文章目录 双周赛113[2855. 使数组成为递增数组的最少右移次数](https://leetcode.cn/problems/minimum-right-shifts-to-sort-the-array/)暴力枚举贪心 O(n) [2856. 删除数对后的最小数组长度](https://leetcode.cn/problems/minimum-array-length-after-pair-removals/)分类讨…

[MAUI]实现动态拖拽排序网格

文章目录 创建页面元素创建可绑定对象创建绑定服务类拖拽(Drag)拖拽悬停,经过(DragOver)释放(Drop) 限流(Throttle)和防抖(Debounce)项目地址 上一章我们使用拖放(drag-drop)手势识别实现了可拖…

TCP/IP协议栈各层涉及到的协议

21/tcp FTP 文件传输协议 22/tcp SSH 安全登录、文件传送(SCP)和端口重定向 23/tcp Telnet 远程连接 80/tcp HTTP 443/tcp HTTPS 计算机各层网络协议 五层:应用层: (典型设备:应用程序,如FTP,SMTP ,HTTP) DHCP(Dynamic Host…

Pikachu Burte Force(暴力破解)

一、Burte Force(暴力破解)概述 ​ “暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。 其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。 为了提高…

RFID与人工智能怎么融合,RFID与人工智能融合的应用

随着物联网技术的不断发展,现实世界与数字世界的桥梁已经被打通。物联网通过各种传感器,将现实世界中的光、电、热等信号转化为有价值的数据。这些数据可以通过RFID技术进行自动收集和传输,然后经由人工智能算法进行分析、建模和预测&#xf…

uniapp cli创建 vue3 + typeScript项目 配置eslint prettier husky

1 命令创建项目 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project2 下载依赖 npm install3 填写appid 4 运行项目并且微信开发工具打开 npm run dev:mp-weixin5 安装 vscode 插件 安装 **Vue Language Features (Volar)** :Vue3 语法提示插件 安装 *…

伦敦银一手是多少?

伦敦银是以国际现货白银价格为跟踪对象的电子合约交易,无论投资者通过什么地方的平台进入市场,执行的都是统一国际的标准,一手标准的合约所代表的就是5000盎司的白银,如果以国内投资者比较熟悉的单位计算,那约相当于15…

http客户端Feign使用

一、RestTemplate方式调用存在的问题 先来看我们以前利用RestTemplate发起远程调用的代码: String url "http://userservice/user/" order.getUserId(); User user restTemplate.getForObject(url, User.class);存在下面的问题: 代码可读…

Mosh Java课程自学(一)

目录 一、前言 二、全局介绍 三、Types 一、前言 首先推荐一下B站上转载的Mosh讲Java课程,当然,建议有一定基础并且英文水平尚可的同学学习,否则你可能会被搞得很累并逐渐失去对编程的兴趣。 Mosh 【JAVA终极教程】中英文字幕 高清完整版…

口袋参谋:如何高效一键下载真实买家秀?

​在淘宝天猫上,即使卖一支笔都有上万个宝贝竞争,所有卖家拼的就是权重带来的曝光度,能展示给买家多少,自己收获多少流量。 如何用自己的优势将流量访客转化为顾客,提升店铺的转化率。而买家秀,就是为此而生…

Java常用类之 String、StringBuffer、StringBuilder

Java常用类 文章目录 一、字符串相关的类1.1、String的 不可变性1.2、String不同实例化方式的对比1.3、String不同拼接操作的对比1.4、String的常用方法1.5、String类与其他结构之间的转换1.5.1、String 与基本数据类型、包装类之间的转换1.5.2、String 与char[]的转换1.5.3、…

ipad可以使用其他品牌的手写笔吗?开学平价电容笔推荐

新学期已经来临,相信不少同学已经开始着手筹备新学期的该准备什么了,毕竟原装的苹果Pencil,功能强大,但价格昂贵,一般人根本买不起。那么,有没有像苹果原装那样的电容笔呢?当然是有的。国产的平…

长安链上线可视化敏捷测试工具v1.0版本

开发者对区块链底层平台进行初步的了解后,一项经常会涉及到的工作是对平台进行测试以考量其性能及稳定性是否符合自身使用需求。长安链推出了可视化UI操作界面的区块链敏捷测试工具v1.0版本,当前版本可对内置合约进行压测并生成网络拓扑图以验证组网方式…

免费开箱即用微鳄售后工单管理系统

编者按:本文介绍基于天翎MyApps低代码平台开发的微鳄售后工单管理系统, 引入低代码平台可以帮助企业快速搭建和部署售后工单管理系统, 以工作流作为支撑,在线完成各环节数据审批,解决售后 工单 服务的全生命周期过程管…

《2023中国氢能源行业分析报告》丨附下载_三叠云

✦ ✦✦ ✦✦ ✦✦ ✦ 1. 国内氢能政策梳理 直接涉及氢能政策:1)21年以来,发布国家级10个、省级83个、 市县级252个;2)涉及发展规划占比45%、财政支持占比 20%、项目支持占比17%、管理办法占比16%、 氢能安全和标准占…

公私钥非对称加密 生成和验证JSON Web Token (JWT)

前言 这是我在这个网站整理的笔记,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 公私钥非对称加密 生成和验证JSON Web Token 什么是JSON Web Token (JWT)Java程序中生成和验证JWT代码解析 什么是JSON Web Token (JWT) JSON Web Tok…

【C++】泛型算法(二)泛型指针Iterator(迭代器)

迭代器iterator定义 迭代器是一种检查容器内元素并遍历元素的数据类型;迭代器提供一个对容器对象或者string对象的访问方法,并定义了容器范围;迭代器的使用可以提高编程的效率。 其定义应该提供: 迭代对象(某个容器&a…

拆贡献算总和(抓住双射)+竞赛图与连通分量相关计数:arc163_d

https://atcoder.jp/contests/arc163/tasks/arc163_d 首先竞赛图有个性质: 然后有了这个性质,我们就可以考虑计数题的经典套路,拆贡献算总和。 考虑假如我们成功划分成两个集合 A , B A,B A,B,其中一个可以为空(我们…

Qt --- Day02

实现效果: 点击登录,检验用户密码是否正确,正确则弹出消息框,点击ok转到另一个页面 不正确跳出错误消息框,默认选线为Cancel,点击Yes继续登录 点击Cancel跳出问题消息框,默认选项No&#xff0c…