微软出品自动化神器【Playwright+Java】系列(六) 之 字符输入、单元素键盘事件操作、上传文件、聚焦、拖拽、悬浮操作
前言:
今天一早起床,就一直太阳穴疼,吃了四片去痛片已经无效,真的是疼的直恶心。
如果说学习或者写文章,能够缓解头疼的话,那我想说,我还能坚持一会.....
很久没更新这系列的文章了,那么我们将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);
}
写在最后
今天这篇文章更新难度系数很大,因为官方文档都是英文的,我是真的看不懂,只能借助谷歌浏览器的右键的翻译成中文来理解学习。
恰巧今天谷歌浏览器就像跟我抗议一样,我右键后,提示我无法翻译此网页,结果我搞这个报错整了近一个多小时,感兴趣的同学可以自己去参考解决方案。
把这个报错搞好了,结果定位插件又不能用了,真的好气,经过一番折腾,定位插件也搞好了,终于可以接着学习和更文了。
不知道,在读文章的你有没有遇到过,要做什么事,总会有些小插曲,让你感到既开心又无奈呢?
感恩每次遇到的困难,都让我赚到了一笔经验😄!
我是六哥,请继续关注我,如果觉得文章对您有帮助,还请点赞、收藏并转发
!
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注我的微信公众号:软件测试君