前言:

今天一早起床,就一直太阳穴疼,吃了四片去痛片已经无效,真的是疼的直恶心。

如果说学习或者写文章,能够或者头疼的话,那我想说,我还能坚持一会.....

很久没更新这系列的文章了,那么我们将Playwright+Java系列延续,带上自己的那份快乐开始吧!

想系统学习请参考:Playwright+Java入门

Action系列API

《微软出品自动化神器【Playwright+Java】系列(五) 之 常见点击事件操作》,这篇文章已经提及了一些,今天这部书属于下集,下面将针对这部分API进行距离讲解。

1、模拟键盘输入字符操作

  • 语法: Locator.type(value)
  • 使用场景: 模拟键盘输入字符

注意:

大多数时候,Page.fill()可以满足要求。如不能输入时,可以考虑键入字符操作。

示例代码如下:

@Test
public void testInput() {
page.locator("#user").type("公众号:软件测试君");
}

2、单元素键盘事件操作

  • 语法:Locator.press(键盘事件)
  • 使用场景:定位元素并产生单个键盘事件

它接受在键盘事件的keyboardEvent.key属性中发出的逻辑键名称:

Backquote, Minus, Equal, Backslash, Backspace, Tab, Delete, Escape,
ArrowDown, End, Enter, Home, Insert, PageDown, PageUp, ArrowRight,
ArrowUp, F1 - F12, Digit0 - Digit9, KeyA - KeyZ, etc.

注意: 需要指定大写字母A以Shift-A生成大写字符。Shift-a产生一个小写的,就好像你用CapsLock切换一样

示例代码如下:

@Test
public void testkeyboardEvent() {
page.locator("#user").type("公众号:软件测试君");
//模拟Ctrl+A 全选操作
page.locator("#user").press("Control+A");
//模拟回车操作 == > 跳转到百度页面
page.locator(".baidu").press("Enter");
pause(3);
}

3、上传文件

  • 语法:Locator.setInputFiles()
  • 使用场景:上传一个或多个文件

示例代码如下:

@Test
public void testUpload() {
//上传一个文件
page.locator("#load").setInputFiles(Paths.get("demo.md"));
// 上传多个文件
page.locator("#load").setInputFiles(new Path[]{Paths.get("pom.xml"), Paths.get("demo.md")});
}

4、聚焦元素

  • 语法:Locator.focus()
  • 使用场景:聚焦效果显示,真的很好看,哈哈

示例代码如下:

@Test
public void testFocus(){
page.locator("#user").focus();
pause(3);
}

效果如下:

5、拖拽操作

  • 语法:Locator.dragTo()
  • 使用场景:常见元素拖动操作

示例代码如下:

@Test
public void testDrag(){
page.navigate("http://localhost:8080/drag.html");
page.locator("#A").dragTo(page.locator(".container ul:nth-of-type(2)"));
pause(3);
}

6、悬浮操作

  • 语法:Locator.hover()、Mouse.down()、Mouse.move()和Mouse.up()
  • 使用场景:常见元素悬浮操作

示例代码如下:

@Test
public void testHover() {
page.locator("#action").hover();
pause(3);
}

写在最后

今天这篇文章更新难度系数很大,因为官方文档都是英文的,我是真的看不懂,只能借助谷歌浏览器的右键的翻译成中文来理解学习。

恰巧今天谷歌浏览器就像跟我抗议一样,我右键后,提示我无法翻译此网页,结果我搞这个报错整了近一个多小时,感兴趣的同学可以自己去参考解决方案

把这个报错搞好了,结果定位插件又不能用了,真的好气,经过一番折腾,定位插件也搞好了,终于可以接着学习和更文了。

不知道,在读文章的你有没有遇到过,要做什么事,总会有些小插曲,让你感到既开心又无奈呢?

感恩每次遇到的困难,都让我赚到了一笔经验!

我是六哥,请继续关注我,如果觉得文章对您有帮助,还请点赞、收藏并转发

微软出品自动化神器【Playwright+Java】系列(六) 之 字符输入、单元素键盘事件操作、上传文件、聚焦、拖拽、悬浮操作的更多相关文章

  1. 微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(一) 之 环境搭建及脚本录制

    一.前言 半年前,偶然在视频号刷到某机构正在直播讲解Playwright框架的使用,就看了一会,感觉还不错,便被种草,就想着自己有时间也可以自己学一下,这一想着就半年多过去了. 读到这,你可能就去百度 ...

  2. 微软出品自动化神器Playwright(Playwright+Java)系列(四) 之 浏览器操作

    写在前面 今天是国庆节的最后一天,明天又要上班了,真的是感觉好像才开始放假一样,还是因为失恋没缓过来吗? 我的国庆七天 第1天,当了近半天的司机,陪家人去各大超市去购物,下午在家躺····· 第2-5 ...

  3. 微软出品自动化神器【Playwright+Java】系列(五) 之 常见点击事件操作

    写在前面 明天就是周五了,这周有那么一两天心情特别不好,真的是做什么都没兴致,所以导致整个人都很丧,什么都不想做. 本打算周一就更新这篇文章的,但由于公司一直加班,每天到家很晚,都是挤时间去学,理解后 ...

  4. Postman系列三:Postman中post接口实战(上传文件、json请求)

    一:接口测试过程中GET请求与POST请求的主要区别 从开发角度我们看get与post的主要区别是:1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据:2.Get安全性比Post低 ...

  5. struts2官方 中文教程 系列六:表单验证

    先贴个本帖的地址,以免被爬:struts2教程 官方系列六:表单验证  即 http://www.cnblogs.com/linghaoxinpian/p/6906720.html 下载本章节代码 介 ...

  6. 《手把手教你》系列技巧篇(五十三)-java+ selenium自动化测试-上传文件-上篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  7. 《手把手教你》系列技巧篇(五十四)-java+ selenium自动化测试-上传文件-中篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  8. 《手把手教你》系列技巧篇(五十五)-java+ selenium自动化测试-上传文件-下篇(详细教程)

    1.简介 在实际工作中,我们进行web自动化的时候,文件上传是很常见的操作,例如上传用户头像,上传身份证信息等.所以宏哥打算按上传文件的分类对其进行一下讲解和分享. 2.为什么selenium没有提供 ...

  9. Java&Selenium借助AutoIt 实现非Input类型自动化上传文件

    通常情况下实现自动化上传文件,都是通过sendKeys函数直接将文件全路径传给页面空间就能完成,然而这种情况只能对Input类型的控件有效,对于非Input类型的控件可以借助AutoIt来完成 下载地 ...

  10. katalon系列十二:自动化上传文件、下载文件

    一.下载文件1.下载文件时,需要先设置好Chrome/Firefox下载路径.不弹出下载框等,大家先学习下在selenium下如何设置:https://www.cnblogs.com/fnng/p/7 ...

随机推荐

  1. 内网横向渗透 之 ATT&CK系列一 之 拿下域控制器

    信息收集 信息收集 域控制器的相关信息: 通过arp扫描发现域控制器的ip地址为:192.168.52.138,尝试使用msf的smb_login模块登录smb是否成功 1 search smb_lo ...

  2. PAT (Advanced Level) Practice 1001 A+B Format 分数 20

    Calculate a+b and output the sum in standard format -- that is, the digits must be separated into gr ...

  3. python运行以及入门语法基础

    pycharm下载与使用 1.pycharm官网下载(直接到pycharm下载地址) http://www.jetbrains.com/pycharm/download/#section=window ...

  4. 关于Azure-AzCopy在Linux环境下的安装

    关于Azure云中有一个AzCopy工具,它 是一个命令行实用工具,支持各种操作系统 AzCopy可以用于向存储帐户复制上传文件,也可以从存储账号下载文件到本地 这里笔者主要记录一下在Linux-x8 ...

  5. SSM项目环境快速搭建

    SSM项目的环境搭建 环境搭建的目标 工程创建 创建父工程 创建空 maven工程 xxx-parent 作为父工程 修改父工程中的 pom.xml <!--?xml version=" ...

  6. hibernate validation 手动参数校验 不经过spring

    /** * 校验工具类 * @author wdmcygah * */ public class ValidationUtils { private static Validator validato ...

  7. 驱动开发:内核枚举IoTimer定时器

    今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,因为在IoInitializeTimer初始化 ...

  8. KubeEdge SIG AI发布首个分布式协同AI Benchmark调研

    摘要:AI Benchmark旨在衡量AI模型的性能和效能. 本文分享自华为云社区<KubeEdge SIG AI发布首个分布式协同AI Benchmark调研>,作者:KubeEdge ...

  9. centos7 安装RabbitMQ3.6.15 以及各种报错

    成功图镇楼 各个版本之间的差异不大,安装前要确保rabbitmq 的版本和 elang的版本一致.预防各种错乱. 注意点:(重要!!重要!!) * 同时安装的时候最好确保rabbitmq和erlang ...

  10. 第一阶段:linux运维基础·1

    1. 服务器的主要硬件是?以及其作用是? cpu 相当于人体的大脑,负责计算机的运算和控制 内存 解决cpu与硬盘之间速度不匹配的问题 磁盘 永久存放数据的存储器 主板 直接或间接的将所有的设备连接在 ...