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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全球首款容器计算产品重磅发布,激活上云用云新范式

云布道师 10 月 31 日,杭州云栖大会上,阿里云云原生应用平台负责人丁宇宣布,阿里云容器计算服务 ACS 正式发布!ACS 将大幅降低企业和开发者用云门槛,真正将 Serverless 理念大规模落地。 容器计算服务 ACS&#xff0c…

fractional Brownian Motion driven stochastic integrals

See https://mathoverflow.net/questions/304366/fractional-brownian-motion-driven-stochastic-integrals

程序员如何“升级打怪”?我用了这几个“歪瓜”!

不会吧?不会吧?计算机本命专业出身、以及半路出家的,混了几年了,还在新手村?对得起这几年摸的鱼? 思考一下:如何从小白一跃为大师,从此走上人生巅峰、迎娶白富美?变强只…

高速数据时代的引领者:ETU-LINK 100G DAC全系列技术简介

伴随科技的不断进步,我们正迅速迈向一个高速数据时代。在这个时代,数据的传输速度已经成为发展的重要因素之一。ETU-LINK推出的100G DAC全系列产品,助力高速数据传输领域的新一轮发展。 一、100G DAC全系列产品解析 100G QSFP28 DAC无源高速…

【Python】给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。 输入格式 第一行包含一个整数n。 第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。 第三行包含一个整数a,为待查找的数。 输出格式…

# 聚类系列(一)——什么是聚类?

目前在做聚类方面的科研工作, 看了很多相关的论文, 也做了一些工作, 于是想出个聚类系列记录一下, 主要包括聚类的概念和相关定义、现有常用聚类算法、聚类相似性度量指标、聚类评价指标、 聚类的应用场景以及共享一些聚类的开源代码 下面正式进入该系列的第一个部分&#xff…

设置 wsl 桥接模式

一、环境要求 Win10/Win11 专业版&#xff0c;并已安装 Hyper-V 二、具体步骤 打开 Hyper-V 管理器 创建虚拟交换机 WSL Bridge 修改wsl配置文件 .wslconfig .wslconfig 文件所在路径如下&#xff1a; C:\Users\<UserName>\.wslconfig若 .wslconfig 文件不存在&am…

苍穹外卖遇到的问题—员工分页查询

项目场景&#xff1a; 系统中的员工很多的时候&#xff0c;如果在一个页面中全部展示出来会显得比较乱&#xff0c;不便于查看&#xff0c;所以一般的系统中都会以分页的方式来展示列表数据。而在我们的分页查询页面中, 除了分页条件以外&#xff0c;还有一个查询条件 “员工姓…

美团面试:微服务如何拆分?原则是什么?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;最近有小伙伴拿到了一线互联网企业如美团、字节、如阿里、滴滴、极兔、有赞、希音、百度、网易的面试资格&#xff0c;遇到很多很重要的面试题&#xff1a; 微服务如何拆分&#xff1f; 微服务拆分的规范和原则…

行情分析——加密货币市场大盘走势(11.21)

大饼昨日笔者已经离场&#xff0c;目前下跌形态破坏&#xff0c;等待机会再入场&#xff0c;下跌是必然的&#xff0c;只是现在从MACD日线来看是要上涨的&#xff0c;上涨趋势没有打破&#xff0c;等待机会入场。 MACD日线多单策略&#xff1a;入场37500 止盈38000-38600 止损…

MySQL InnoDB 引擎底层解析(二)

6.2.InnoDB 的表空间 表空间是一个抽象的概念&#xff0c;对于系统表空间来说&#xff0c;对应着文件系统中一个或多个实际文件&#xff1b;对于每个独立表空间来说&#xff0c;对应着文件系统中一个名为表名.ibd 的实际文件。大家可以把表空间想象成被切分为许许多多个页的池…

AC修炼计划(AtCoder Beginner Contest 329)

传送门&#xff1a;&#xff33;&#xff4b;&#xff59; Inc, Programming Contest 2023&#xff08;AtCoder Beginner Contest 329&#xff09; - AtCoder A&#xff0c;B&#xff0c;C&#xff0c;D 这四道题比较简单&#xff0c;就不多叙述。 E - Stamp 这题是一道比较…

Java 代码 格式化插件

Java代码 格式化插件 文章目录 Java代码 格式化插件一. 前言1.1 官网1.2 概念1.3 格式化更变规则 二. 使用2.1 插件添加2.2 使用 一. 前言 1.1 官网 spring-javaformat-maven-plugin 1.2 概念 一组可应用于任何 Java 项目以提供一致的“Spring”风格的插件。该套件目前包括…

Selenium自动化测试 —— 通过cookie绕过验证码的操作!

验证码的处理   对于web应用&#xff0c;很多地方比如登录、发帖都需要输入验证码&#xff0c;类型也多种多样&#xff1b;登录/核心操作过程中&#xff0c;系统会产生随机的验证码图片&#xff0c;进行验证才能进行后续操作 解决验证码的方法如下&#xff1a; 1、开发做个…

metersphere 创建场景, 自动动态变换参数值,实现接口自动化测试。

创建场景 创建产品变量 添加数值 添加后点击确定 点击右下角 号 点击 循环控制器 写循环 创建/导入接口 选择运行环境&#xff0c; 没有的话新建一个 需要点击引用环境 保存后点击 调试 成功做到每次请求的参数是列表里的 10

北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595(仿真方法验证)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章&#xff0c;请访问专栏&#xff1a; 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 使用FPGA开发板验证的教程&#xff0c;请参考 北邮…

【蓝桥杯省赛真题44】Scratch像素画板 蓝桥杯少儿编程scratch图形化编程 蓝桥杯省赛真题讲解

scratch像素画板 第十四届青少年蓝桥杯scratch编程省赛真题 一、题目要求 编程实现 1.点击绿旗,角色、背景如图所示(三种颜色调色盘、清除图标及方格角色请自行创建,点击绿旗后立刻呈现下图效果); 2.用鼠标点击红色调色盘,红色调色盘变为选中状态(如下图所示),此时鼠…

不夸张地说,这是我见过最通俗易懂的,pytest入门基础教程!

Pytest简介 Pytest is a mature full-featured Python testing tool that helps you write better programs.The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. 通过官方网站介绍…

树与二叉树堆:堆

堆的概念&#xff1a; 一般是把数组的数据在逻辑结构上看成一颗完全二叉树&#xff0c;如下图所示。 注意&#xff1a;别将C语言中的堆和数据结构的堆混为一谈&#xff0c;本文所讲的数据结构的堆是一种完全二叉树&#xff0c;而C语言中的堆其实是一种内存区域的划分 堆的分类…

【链表的说明、方法---顺序表与链表的区别】

文章目录 前言什么是链表链表的结构带头和不带头的区别 链表的实现&#xff08;方法&#xff09;遍历链表头插法尾插法任意位置插入一个节点链表中是否包含某个数字删除链表某个节点删除链表中所有关键字key清空链表所有节点 ArrayList 和 LinkedList的区别总结 前言 什么是链…