无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網易首頁 > 網易號 > 正文 申請入駐

PlayWright新手全攻略:從入門到精通

0
分享至

01、簡介

軟開源自動化測試工具Playwright,支持主流瀏覽器,包括:Chrome、Firefox、Safari 等,同時支持以無頭模式、有頭模式運行,并提供了同步、異步的 API,可以結合主流測試框架使用,并且支持瀏覽器端的自動化腳本錄制等功能。



特點:

· 跨瀏覽器:Playwright 支持所有現代渲染引擎,包括Chromium、WebKit 和 Firefox;

· 跨平臺:在 Windows、Linux 和 MacOS 上進行本地或 CI、無頭或有頭測試;

· 跨語言:在 TypeScript、JavaScript、Python、.NET、Java 中使用Playwright API;

· 測試移動網絡:適用于 Android 和 Mobile Safari 的 Google Chrome 原生移動仿真。相同的渲染引擎適用于您的桌面和云端。

通俗的講: 就是一款主流的自動化測試工具,可以跨平臺、跨語言、開源、支持分布式、擁有成熟的社區及學習文檔,主要用于接口和web自動化測試。



02、安裝

1.Java 開發環境搭建

首先需要明確的是Java環境是使用maven管理項目的,所以我們只需用在項目中找到對應的pom文件在其中添加如下內容:

com.microsoft.playwright

playwright

1.25.0

就可以自動導入playwright。

Ps:因為maven的中央倉庫是外網地址,下載很慢需耐心等待,或者在修改鏡像站,改為國內鏡像。

添加demo.java內容如下:

package org.example;import com.microsoft.playwright.*;publicclassExample{publicstaticvoidmain(String[] args){try (Playwright playwright = Playwright.create()) {Browser browser = playwright.chromium().launch();Page page = browser.newPage(); page.navigate("https://www.cnblogs.com/longronglang"); System.out.println(page.title());}}}

運行這個類之后會下載下載 Playwright 包并安裝適用于 Chromium、Firefox 和 WebKit 的瀏覽器二進制文件,如下所示:

2.Python開發環境搭建(網上教程很多此處不做過多說明)

1. 安裝Playwright依賴庫(Playwright支持Async\Await語法,故需要Python3.7+)

pip install playwright

2. 安裝Chromium、Firefox、WebKit等瀏覽器的驅動文件(內置瀏覽器)

python -m playwright install

03、腳本錄制

此章主要是介紹如何錄制腳本,提供給需要使用錄制屏幕的人,若是不喜歡覺得自己手寫更方便的同學可以跳過此章。

1.錄制環境安裝

如同常見的自動化測試工具一樣,playwright同樣支持屏幕錄制并生成腳本。因為錄屏時需要node環境,所以請提前安裝。不會的同學請自行度娘,本文不做詳述。

確認node環境及版本:

node -v



安裝:

npm init -y

npm i -D @playwright/test



2.錄制

錄制是不需要寫代碼的,只需要啟動瀏覽器,playwright就會幫我們生成腳本代碼。

輸入如下命令即可啟動,開啟錄制模式:

npx playwright codegen https://www.baidu.com(開啟錄屏模式)

Npx playwright open --viewport-size 1920,1080 https://www.baidu.com

Ps: 上文中的url 是我們需要錄制的網站地址,請根據實際使用情況自行配置。



同樣playwright是支持多語言的,我們可以在錄制界面隨意切換自己需要的語言,本文以Java為例,其余不做演示。



接下來我們只需要在瀏覽器中執行相關操作,playwright就會把我們所有的操作記錄下來。

下圖中為在首頁的輸入框中輸入playwright并查詢。



當操作完成之后,我們點擊playwright的停止和復制就可以得到錄制好的腳本



我們把復制好的腳本粘貼到編輯器中,點擊運行該腳本,通過運行后就證明我們錄制的腳本沒有問題,可以保存。如果有,則通過調整代碼或者推倒重新錄制即可解決。

至此錄制環境安裝和腳本錄制完成。

3.調試

如圖是playwright inspectior,我們已經和它見過一次面了,大家應該也不陌生。接下來詳細的為大家介紹一下它,它叫playwright inspectior是playwright框架自帶的GUI工具,可以幫助我們調試腳本



3.1 如何啟動playwright inspectior

在腳本中添加page.pause()方法即可啟動.



Ps: 其他方法本文不做推薦,后期請自行研究。

3.2. 界面介紹

(1)工具欄介紹



(2)元素欄介紹

如圖所示,當我們不確定頁面某個元素位置怎么獲取時,可點擊檢測器,然后在頁面上點擊該元素,即可在輸入框中展示該元素。

也可以配合開發者小工具(F12)檢測你的元素否正確。



3.3. 如何調試

當腳本出現問題之后,我們就可以使用playwright inspectior做調試

第一步:在你的腳本代碼中添加page.pause()方法,運行腳本。

第二步:等待playwright inspectior成功啟動之后,我們就能使用工具欄 播放、停止、逐步播放來確定問題所在

第三步:當確定時元素位置錯誤,我們就能使用元素檢查器來確定正確的元素位置。

04、常用方法介紹

1.創建瀏覽器對象



.chromium().launch()方法就是指創建一個谷歌瀏覽器,同樣創建火狐就是.firefox().launch()

.setHeadless(false)方法是指在創建瀏覽器的時候,選擇無頭瀏覽器(true)還是帶頭瀏覽器(false)。

無頭瀏覽器:后臺運行,不在顯示器顯示腳本操作

有頭瀏覽器:在顯示器上展示腳本所有操作

2.創建瀏覽器上下文

瀏覽器上下文對象是瀏覽器實例中一個類似于隱身模式的會話,簡單說就是該上下文資源是完全獨立的,與其他的上下文互不干擾,所以在自動化測試中,可以對每一個測試用例都單獨開一個瀏覽器上下文。這對于多用戶,多場景的測試非常有用。

3.創建頁面

page就是瀏覽器中的標簽頁,一個page對象就可以當前頁面內容交互



??轉崗軟件測試/野路子技能提升

??想了解更多漲薪技能提升方法

??可以到我的個人號:atstudy-js

即可加入領取 ??????

轉行、入門、提升、需要的各種干貨資料

內含AI測試、 車載測試、AI大模型開發、BI數據分析、銀行測試、游戲測試、AIGC

4.常見頁面操作事件

這部分主要演示的常見頁面操作,例如:文本輸入、點擊、鍵盤鍵入、上傳文件、聚焦等等

1、輸入操作

語法:Locator.fill(value)

使用場景:文本框、日期/時間、日歷控件等輸入框

page.locator("#kw").fill("playwright");

2、點擊操作

語法:Locator.click()

適用場景:單選框、復選框、按鈕控件、常見可點擊控件等等!

page.locator("#kw").click();

3、單選框及復選框操作

語法: Locator.setChecked(checked)

適用場景: 單選框、復選框

//單選款 (選中,已選中狀態下無效) page.locator(".Volvo").setChecked(true);page.locator(".Volvo").check();System.out.println(page.locator(".Volvo").isChecked());//復選框(選中,已選中狀態下無效) page.locator("#checkbox [type='checkbox']:nth-child(7)").check();page.locator("#checkbox [type='checkbox']:nth-child(7)").setChecked(true);

4、下拉控件操作

語法:Locator.selectOption(values[, options])

適用場景:下拉框操作

//通過value值選擇page.locator("[name='select']").selectOption("opel");//通過可見文本選擇page.locator("[name='select']").selectOption(new SelectOption().setLabel("Audi"));5、鼠標事件

5、鼠標事件

語法:詳見案例

適用場景:常見鼠標點擊事件

//常規單擊page.locator("#mouse2").click();//雙擊page.locator("#mouse3").dblclick();//右鍵單擊page.locator("#mouse5").click(new Locator.ClickOptions().setButton(MouseButton.RIGHT));//按住Shift鍵并單擊page.locator("#mouse2").click(new Locator.ClickOptions().setModifiers(Arrays.asList(KeyboardModifier.SHIFT)));//懸停在元素上page.locator("#mouse1").hover();//單擊左上角page.locator("#mouse1").click(new Locator.ClickOptions().setPosition(0, 0));//強制點擊page.locator("#mouse2").click(new Locator.ClickOptions().setForce(true));//調度點擊事件來觸發點擊page.locator("#mouse2").dispatchEvent("click");

6、模擬鍵盤輸入字符操作

語法:Locator.type(value)

使用場景:模擬鍵盤輸入字符

ps:大多數時候,Page.fill()可以滿足要求。如不能輸入時,可以考慮鍵入字符操作。

page.locator("#user").type("playwright");

7、單元素鍵盤事件操作

語法:Locator.press(鍵盤事件)

使用場景:定位元素并產生單個鍵盤事件

//模擬Ctrl+A 全選操作page.locator("#user").press("Control+A");//模擬回車操作 == > 跳轉到百度頁面page.locator(".baidu").press("Enter");

8、上傳文件

語法:Locator.setInputFiles()

使用場景:上傳一個或多個文件

//上傳一個文件page.locator("#load").setInputFiles(Paths.get("demo.md"));// 上傳多個文件page.locator("#load").setInputFiles(new Path[]{Paths.get("pom.xml"), Paths.get("demo.md")});

9、拖拽操作

語法:Locator.dragTo()

使用場景:常見元素拖動操作

// 拖拽元素page.locator("#A").dragTo(page.locator(".container ul:nth-of-type(2)"));

10、懸浮操作

語法:Locator.hover()

使用場景:常見元素懸浮操作

//懸浮page.locator("#action").hover();

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
為什么女教師成了單身女的最重災區?網友剖析一針見血,我明白了

為什么女教師成了單身女的最重災區?網友剖析一針見血,我明白了

夜深愛雜談
2026-04-27 22:11:39
俄媒女主持人曾言:若中國愿出兵300萬,俄軍很快就能打敗烏克蘭

俄媒女主持人曾言:若中國愿出兵300萬,俄軍很快就能打敗烏克蘭

南宗歷史
2026-03-17 16:53:10
防線全面崩潰,俄軍攻占羅斯科什,中方不愿看到的事,還是發生了

防線全面崩潰,俄軍攻占羅斯科什,中方不愿看到的事,還是發生了

激情與榮耀并存
2026-06-13 02:47:42
《歌手2026》第4期:胡彥斌開大再奪魁,張碧晨周興哲慘遭淘汰

《歌手2026》第4期:胡彥斌開大再奪魁,張碧晨周興哲慘遭淘汰

文刀木之南
2026-06-12 23:06:55
證監會:全面推進實施新一輪資本市場改革開放

證監會:全面推進實施新一輪資本市場改革開放

新浪財經
2026-06-13 08:05:21
高考果然改變命運!湖南考生賀永輝還沒出考場命運就被改變...

高考果然改變命運!湖南考生賀永輝還沒出考場命運就被改變...

鬼菜生活
2026-06-13 05:03:13
職業教師:不只是一份工作,是生命的彼此成就

職業教師:不只是一份工作,是生命的彼此成就

疾跑的小蝸牛
2026-06-12 20:52:20
“鵝腿阿姨”塌房:CBD不相信人設

“鵝腿阿姨”塌房:CBD不相信人設

一刻talks丨硬科技趣思想
2026-06-12 21:00:47
永久停業!河西干了30年的老館子也關了?

永久停業!河西干了30年的老館子也關了?

天津人
2026-06-13 06:31:30
凌晨!美聯儲,利好突襲!芯片,全線大漲!

凌晨!美聯儲,利好突襲!芯片,全線大漲!

證券時報
2026-06-13 07:50:05
白宮工作人員:禁止索馬里主裁判阿爾坦入境是正確的決定

白宮工作人員:禁止索馬里主裁判阿爾坦入境是正確的決定

懂球帝
2026-06-13 01:40:05
心魔難除!21歲林詩棟揮霍3個賽點 抗壓力遭質疑:決勝局頻繁退臺

心魔難除!21歲林詩棟揮霍3個賽點 抗壓力遭質疑:決勝局頻繁退臺

風過鄉
2026-06-13 07:35:25
活捉賴清德箭在弦上?美上將曾言:統一之戰,會以這個名義打響?

活捉賴清德箭在弦上?美上將曾言:統一之戰,會以這個名義打響?

半壁胭脂色
2026-06-13 08:19:45
1936年營長帶兩個連投奔紅軍,1955年授銜以為自己頂多被評為大校

1936年營長帶兩個連投奔紅軍,1955年授銜以為自己頂多被評為大校

磊子講史
2026-06-11 11:53:11
世界杯誰將奪冠?曼聯名宿給出答案,葡萄牙無望,一隊有望成黑馬

世界杯誰將奪冠?曼聯名宿給出答案,葡萄牙無望,一隊有望成黑馬

兵哥籃球故事
2026-06-12 14:29:27
“這環境,誰住誰抑郁!”家長吐槽女兒不換衣服,被嘲:有必要嗎

“這環境,誰住誰抑郁!”家長吐槽女兒不換衣服,被嘲:有必要嗎

妍妍教育日記
2026-06-13 09:40:12
傅全有要求把排職軍官工資從90漲到500,財政部長大驚:你胃口真大

傅全有要求把排職軍官工資從90漲到500,財政部長大驚:你胃口真大

帝哥說史
2026-06-12 21:59:41
絕情?韓國球迷狠批33歲孫興慜:韓國足球10年黑暗的罪人 踢掉他

絕情?韓國球迷狠批33歲孫興慜:韓國足球10年黑暗的罪人 踢掉他

風過鄉
2026-06-12 13:26:55
尼克斯鋒線打爆馬刺!詹姆斯卻被猛夸,東部球隊為贏他才囤積前鋒

尼克斯鋒線打爆馬刺!詹姆斯卻被猛夸,東部球隊為贏他才囤積前鋒

小路看球
2026-06-12 12:27:46
8個部門聯手查你,不是嚇你

8個部門聯手查你,不是嚇你

職場資深秘書
2026-06-05 15:57:56
2026-06-13 11:07:00
51Testing軟件測試網 incentive-icons
51Testing軟件測試網
中國軟件測試人的精神家園
1588文章數 13274關注度
往期回顧 全部

科技要聞

SpaceX上市首日破2萬億美元,馬斯克再封神

頭條要聞

沈逸:日菲"地圖開疆"耍花招 中方高度敏感明確回應

頭條要聞

沈逸:日菲"地圖開疆"耍花招 中方高度敏感明確回應

體育要聞

歐洲恐韓?肉德維德?

娛樂要聞

12年情懷碎一地!跑男接連翻車

財經要聞

梁文鋒向左,楊植麟向右

汽車要聞

標配激光雷達/雙動力可選 昊鉑S600限時售17.99萬起

態度原創

房產
旅游
本地
教育
家居

房產要聞

海南最賺錢行業曝光!最快4年半,海口全款買三房!

旅游要聞

貴旅集團躍升全國文旅品牌傳播力第7名

本地新聞

AK劉彰邂逅河北南大港濕地

教育要聞

高考出分后,如何沖穩保選院校志愿?

家居要聞

空間微調 移形換境

無障礙瀏覽 進入關懷版