新一代最强开源UI自动化测试神器Playwright(Java版)页面元素交互

news2025/1/30 16:08:50

Playwright 可以与 HTML 输入元素交互,例如文本输入、复选框、单选按钮、下拉选择框、鼠标点击、字符输入、模拟键盘事件以及上传文件和焦点元素。

Playwright 操作文本框

使用Locator.fill()是填写表单字段的最简单方法。input它聚焦元素并使用输入的文本触发事件。它适用于,和[contenteditable]元素。

// Text input
page.getByRole(AriaRole.TEXTBOX).fill("Peter");

// Date input
page.getByLabel("Birth date").fill("2020-02-02");

// Time input
page.getByLabel("Appointment time").fill("13-15");

// Local datetime input
page.getByLabel("Local time").fill("2020-03-02T05:15");

举个例子

图片

Playwright操作复选框和单选按钮

使用Locator.setChecked()是选中和取消选中复选框或单选按钮的最简单方法。此方法可与

input[type=checkbox],input[type=radio]

和[role=checkbox]元素一起使用。

举个例子

图片

代码如下

图片

Playwright操作下拉列表

使用Locator.selectOption()在元素中选择一个或多个选项。可以指定选项值或标签来选择。可选择多个选项。

举个例子

图片

page.locator("select[name=\"s1\"]").selectOption("o3");

Playwright操作鼠标点击

执行简单的人工点击。

举个例子

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

图片

Shift+click

常用于下拉列表的多选

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

图片

鼠标悬浮

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

图片

效果

图片

Playwright操作字符输入

模拟键盘输入,一个字符一个字符的输入,且每个字符延迟300ms输入,模拟真实的键盘输入。

图片

在这里插入图片描述

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

在这里插入图片描述

Playwright模拟键盘事件

模拟键盘操作如Backspace, Tab, Delete, Escape,Enter, Home, Insert, PageDown, PageUp, F1 - F12, Digit0 - Digit9, KeyA - KeyZ。

举个例子

如使用键盘上的tab键,可以把光标从上一个输入框,直接移动到下一个输入框。

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

page.getByLabel("Username").first().press("Tab");

图片

Playwright操作文件上传

上传单个文件

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

图片

上传多个文件

图片

▓▓▓▓▓▓▓▓▓▓▓░░░░努力加载中……

图片

Playwright操作元素焦点

有时候我们在操作文本输入框的时候,会发现输入框内无光标,一般的处理方式就是先定位到这个输入框元素,然后click(),不过还有一种方式,也可以处理焦点。

page.getByLabel("Username").first().focus();

资源分享【这份资料必须领取~】

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

JVM面试题详解系列——垃圾收集算法详解

垃圾收集算法 标记 - 清除算法 首先标记出所有需要被回收的对象,标记完后统一回收所有被标记的对象。 后续的收集算法都是基于这种思路并对其不足进行改进而得到的。 这种方法主要有两个缺点: 一个是效率问题,标记和清除两个过程的效率都…

最短路径(难)

目录 一、Dijkstra算法 动态演示: 关键代码: 完整代码: 运行结果: 二、Floyd算法 详细介绍 关键算法: 完整代码: 运行结果: 一、Dijkstra算法 Dijkstra算法:可以求带权图中…

开发者还能这样开发小游戏变现

根据《2022微信小游戏增长白皮书》显示,目前微信小游戏开发者数量已经超过10万人次,特别是在持续出现小游戏爆火社交平台的趋势下,小游戏发展势头强劲。 此外仅看微信小游戏的商业规模,2022年相较于2021年实现了超 30%的商业增长…

快速了解Azure SQL部署类型的小技巧

目录 (一)前言 (二)正文 1. 语法 2. 结果分析 3. 实例 (1)SQL SERVER (2)Azure SQL (一)前言 我们知道在常规的SQL SERVER中我们会使用SELECT VERSIO…

我国汽车保险杠行业对汽车产业依存度较大 市场需求呈良性上升态势

根据观研报告网发布的《2022年中国汽车保险杠市场分析报告-市场发展格局与投资潜力研究》显示,汽车保险杠是汽车车身上一种较大的外覆盖零部件,其作用是在汽车发生碰撞时,保护汽车车身及附件,轻微碰撞可以依靠保险杠自身吸收能量&…

MySQL中的这14个神仙功能,惊艳到我了!!!

前言 我最近几年用MYSQL数据库挺多的,发现了一些非常有用的小玩意,今天拿出来分享到大家,希望对你会有所帮助。 1.group_concat 在我们平常的工作中,使用group by进行分组的场景,是非常多的。 比如想统计出用户表中…

劲牌连续两年问鼎全国质量大奖背后的密码

11月24日,第二十届全国质量奖“中国杰出质量人”正式公布,劲牌公司董事长吴少勋成为全国10人名单之一。这是劲牌公司继2021年获得第十九届全国质量奖组织奖后,又获得全国质量奖个人奖。连续两年分别获得全国质量奖组织奖和个人奖,…

18岁开始学习编程是否来得及?

18岁开始学习编程完全来得及,不仅来得及,而且还可以选择走专业的程序研发路线,在当前产业互联网的推动下,未来程序开发岗位的数量还会进一步得到攀升。 18岁开始学习编程可以根据自身的实际情况来规划具体的学习路线,对…

java回顾:ssm整合、纯注解开发

目录 一、搭建环境 1.1、spring环境搭建 1.1.1 测试SpringIOC环境 1.2、搭建Mybatis环境(原生mybatis) 二、Spring整合mybatis 三、Spring整合SpringMVC 四、SSM执行流程 五、纯注解开发配置文件模板 声明: SpringMVC: 注解 XML 注解: Control…

[streamlit]数据科学科研工作者的神器,必须要推荐一下

1. 前言 做科研当然要有过硬的专业知识,但是也少不了一些辅助,才能最大程度发挥我们的能力。因此,除去我们模型性能优秀,结果良好以外,如何进行一个好的展示,也是非常有必要的。那么今天,我们就…

推荐系统:基于ConvNCF推荐算法的推荐系统实现 代码+数据详细教程

1.案例知识点 推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)准确的预测出用户未来的行为;好的推荐系统不仅如此,而且能够拓展用户的视野,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的用户。ConvNCF推…

西瓜书-决策树

决策树 决策树划分时,当前属性集为空,或所有样本在所有属性上取值相同,将结点标记为叶节点,其类别标记为当前样本集中样本数最多的类。 决策树算法的核心在于:选择最优划分属性 判别分类的三种情形: 当前…

[前端攻坚]:详解call、apply、bind的实现

call apply bind 的实现的面试中几乎必定出现的一些内容,今天来用一篇文章整理一下这里的内容,加深一下JS基础知识体系。同时文章也被收录到我的《JS基础》专栏中,欢迎大家点击收藏加关注。 call的实现 call() 方法使用一个指定的 this 值和单…

Oracle Ask Tom分区学习系列: 面向开发者的分区(Partitioning)教程

Oracle Partitioning: A Step-by-Step Introduction for Developers是Oracle数据库开发者课程之一。 Development with Oracle Partitioning/使用 Oracle 分区进行开发 Partitioning in the database reflects the same way we handle large tasks in the real world. When a t…

Redis分布式锁的10个坑

前言 大家好,我是田螺。 日常开发中,经常会碰到秒杀抢购等业务。为了避免并发请求造成的库存超卖等问题,我们一般会用到Redis分布式锁。但是使用Redis分布式锁,很容易踩坑哦~ 本文田螺哥将给大家分析阐述,Redis分布式…

如何优化 MySQL 服务器

有一些数据库服务器的优化技术,主要是管理系统配置而不是调整 SQL 语句。它适用于那些希望确保服务器的性能以及可伸缩性的 DBA,以及适用于启动安装脚本建立数据库和运行 MySQL 自己进行开发、测试等以提生产力的开发人员。 系统因素 一些系统级方面也会…

推荐几个方法教你学会怎样制作视频剪辑

随着时代的发展,新媒体行业的壮大,应该不少小伙伴每天都需要制作视频剪辑吧,有些可能是因为从事短视频行业,每天就需要发送视频内容,才能吸引观众,也有些可能只是想单纯分享一些生活视频。那你知道如何制作…

List接口-ArrayList、LinkedList和Vector

1.List 接口和常用方法 1.1List 接口基本介绍 import java.util.ArrayList; import java.util.List;public class List_ {SuppressWarnings({"all"})public static void main(String[] args) {//1. List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复 [案例]…

Linux网络编程之socket通信

Linux网络编程之socket通信 一、socket相关函数使用 1.1 IP地址转换函数: 小端法:(pc本地存储) 高位存高地址,低位存低地址。 大端法:(网络存储) 高位存低地址,低位存…

13基于多目标粒子群算法的微电网优化调度(matlab程序)

参考文献 基于多目标粒子群算法的微电网优化调度——王金全(2014电网与清洁能源) 主要内容 针对光伏电池、风机、微型燃气轮机、柴油发电机以及蓄电池组成的微电网系统的优化问题进行研究,在满足系统约束条件下,建立了包含运行…