今天一早起床,就一直太陽穴疼,吃了四片去痛片已經無效,真的是疼的直噁心。
如果說學習或者寫文章,能夠緩解頭疼的話,那我想說,我還能堅持一會.....
很久沒更新這系列的文章了,那麼我們將Playwright+Java
系列延續,帶上自己的那份快樂開始吧!
想系統學習請參考:Playwright+Java入門
在《微軟出品自動化神器【Playwright+Java】系列(五) 之 常見點選事件操作》,這篇文章已經提及了一些,今天這部書屬於下集,下面將針對這部分API進行距離講解。
Locator.type(value)
注意:
大多數時候,Page.fill()
可以滿足要求。如不能輸入時,可以考慮鍵入字元操作。
範例程式碼如下:
@Test
public void testInput() {
page.locator("#user").type("公眾號:軟體測試君");
}
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);
}
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")});
}
Locator.focus()
範例程式碼如下:
@Test
public void testFocus(){
page.locator("#user").focus();
pause(3);
}
效果如下:
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);
}
Locator.hover()、Mouse.down()、Mouse.move()和Mouse.up()
範例程式碼如下:
@Test
public void testHover() {
page.locator("#action").hover();
pause(3);
}
今天這篇文章更新難度係數很大,因為官方檔案都是英文的,我是真的看不懂,只能藉助谷歌瀏覽器的右鍵的翻譯成中文來理解學習。
恰巧今天谷歌瀏覽器就像跟我抗議一樣,我右鍵後,提示我無法翻譯此網頁,結果我搞這個報錯整了近一個多小時,感興趣的同學可以自己去參考解決方案。
把這個報錯搞好了,結果定位外掛又不能用了,真的好氣,經過一番折騰,定位外掛也搞好了,終於可以接著學習和更文了。
不知道,在讀文章的你有沒有遇到過,要做什麼事,總會有些小插曲,讓你感到既開心又無奈呢?
感恩每次遇到的困難,都讓我賺到了一筆經驗