首页 > 编程语言 >微软出品自动化神器【Playwright+Java】系列(六) 之 字符输入、单元素键盘事件操作、上传文件、聚焦、拖拽、悬浮操作

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

时间:2022-12-18 11:01:26浏览次数:64  
标签:Playwright Java 示例 void public locator Test 操作 page

前言:

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

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

很久没更新这系列的文章了,那么我们将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);
}

效果如下:

image.png

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,示例,void,public,locator,Test,操作,page
From: https://blog.51cto.com/u_15009374/5950816

相关文章

  • 微软出品自动化神器【Playwright+Java】系列(七) 之 元素的可操作性验证
    前言昨天在某平台发表了一篇这系列的文章,结果不但提示说有违禁词(java也算?),然后文章审核通过后,文章还找不到,不到去哪了,表示很郁闷,去反应未果,确实有点尴尬了。元素的可操作......
  • JavaScript中的防抖与节流-图文版
    01、防抖还是节流防抖与节流目的都是避免一定时间内,大量重复的操作造成的性能损耗。因此原理也类似,都是阻止过多的事件执行,只保留一部分来执行。适用场景略有不同,也有......
  • Java急速转职GoLang工程师资料
    在这个百年未有之大变局之际,此文送给需要升值加薪的雇佣者。文章目录​​入门​​​​了解、熟悉GoLang​​​​实战​​​​实战壹​​​​实战贰​​​​面试​​​​资料......
  • JavaSE1️⃣简介
    1、历史背景20世纪90年代初,JamesGosling(SUN公司,已被Oracle收购)开发。一门面向对象的编程语言。最初命名Oak(橡树),目标是针对小型家电设备的嵌入式应用,结果市场......
  • JavaSE2️⃣程序基础(上)
    需要了解的计算机基础知识:......
  • JavaSE2️⃣程序基础(下)
    1、流程控制在Java中,分号;作为语句结束。使用流程控制语句,可实现条件判断、循环、程序跳转等功能。1.1、输入输出Java内置System类中,提供了输入输出相关功能......
  • 【操作系统-总论】发展历程、体系结构、虚拟机
    目录1操作系统的发展历程1.1手工操作阶段1.2批处理阶段1.2.1单道批处理系统(单道程序系统)1.2.2多道批处理系统(多道程序系统)1.3分时操作系统1.4实时操作系统2操作系......
  • ElasticSearch学习笔记(3)-常用的操作
    可以使用Postman的接口调用,也可以使用kibana来操作。kibana操作相对简单一些。一、索引的操作1、查询GEThttp://ip:端口/索引名称      #查询单个索引信息......
  • 如何反编译Java文件?
    ​反编译Java文件就是将编译好的.class文件反编译为.java文件,我们可以利用IDEA来轻松实现反编译。一.找到我们的.class文件1.打开项目结构2.在模块下选择想要的输......
  • JavaBean
    JavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数属性必须私有化。私有化的属性必须通过public类型的方法暴露给其它程序,......