<cite id="ffb66"></cite><cite id="ffb66"><track id="ffb66"></track></cite>
      <legend id="ffb66"><li id="ffb66"></li></legend>
      色婷婷久,激情色播,久久久无码专区,亚洲中文字幕av,国产成人A片,av无码免费,精品久久国产,99视频精品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.

      相關推薦
      熱點推薦
      剛剛!馬略卡2-1絕殺皇馬,掀翻銀河戰艦的竟是這位阿根廷名宿?

      剛剛!馬略卡2-1絕殺皇馬,掀翻銀河戰艦的竟是這位阿根廷名宿?

      仰臥撐FTUer
      2026-04-05 00:53:02
      官宣!34歲奧斯卡因病正式退役 放棄6647萬薪水 中超8年賺16億

      官宣!34歲奧斯卡因病正式退役 放棄6647萬薪水 中超8年賺16億

      念洲
      2026-04-04 21:52:19
      拋棄中國,伊朗為何選擇日本作為中間調停者

      拋棄中國,伊朗為何選擇日本作為中間調停者

      民間胡扯老哥
      2026-04-03 02:20:49
      家暴打死老婆,他在行刑前尿了褲子:終于怕了

      家暴打死老婆,他在行刑前尿了褲子:終于怕了

      大道微言
      2026-04-04 14:49:29
      1.5億巨頭失良機,小將99分鐘絕殺!0-2到3-2,拜仁向皇馬宣戰

      1.5億巨頭失良機,小將99分鐘絕殺!0-2到3-2,拜仁向皇馬宣戰

      我的護球最獨特
      2026-04-04 23:37:17
      王曼昱半決賽不妙!累到請馬琳扔毛巾,郭焱透露壞消息質疑不合理

      王曼昱半決賽不妙!累到請馬琳扔毛巾,郭焱透露壞消息質疑不合理

      三十年萊斯特城球迷
      2026-04-04 22:52:08
      伊朗官方確認:翼龍-2首次參戰即被擊落,海灣國家反應強烈

      伊朗官方確認:翼龍-2首次參戰即被擊落,海灣國家反應強烈

      衣服固元膏
      2026-04-04 15:53:17
      斯諾克最新戰報!希金斯啞火僅8分,趙心童大逆轉,半決賽連贏3局

      斯諾克最新戰報!希金斯啞火僅8分,趙心童大逆轉,半決賽連贏3局

      劉姚堯的文字城堡
      2026-04-04 21:02:56
      從1-3到4-3!王楚欽重壓下完成大逆轉,艱難晉級世界杯四強

      從1-3到4-3!王楚欽重壓下完成大逆轉,艱難晉級世界杯四強

      全景體育V
      2026-04-04 20:09:01
      別什么東西都往豆包上發了,男子發私照讓豆包評價身材,賬號遭封禁:會有人審核,別亂發亂聊天

      別什么東西都往豆包上發了,男子發私照讓豆包評價身材,賬號遭封禁:會有人審核,別亂發亂聊天

      觀威海
      2026-04-04 16:15:03
      金昊,已被執行死刑

      金昊,已被執行死刑

      中國新聞周刊
      2026-04-03 23:17:17
      爆雷了!知名電商平臺總部人去樓空,大量供應商被欠款

      爆雷了!知名電商平臺總部人去樓空,大量供應商被欠款

      鳳凰網財經
      2026-04-04 20:41:42
      澳門世界杯捷報:4強全出爐,衛冕冠軍4:3晉級,王楚欽壓力陡增

      澳門世界杯捷報:4強全出爐,衛冕冠軍4:3晉級,王楚欽壓力陡增

      順靜自然
      2026-04-04 16:47:33
      造價7.5億美元,貝克漢姆展示邁阿密國際新主場:我們的新家

      造價7.5億美元,貝克漢姆展示邁阿密國際新主場:我們的新家

      懂球帝
      2026-04-04 10:59:09
      美軍為何大白天冒險深入伊朗腹地救大兵?若其被俘或直接改變戰事結局

      美軍為何大白天冒險深入伊朗腹地救大兵?若其被俘或直接改變戰事結局

      紅星新聞
      2026-04-04 13:29:21
      調查!存儲價格“急漲急跌”背后:國內現貨一周跌去25%,海外合約價為何暴漲70%

      調查!存儲價格“急漲急跌”背后:國內現貨一周跌去25%,海外合約價為何暴漲70%

      華夏時報
      2026-04-03 17:31:03
      “美軍特種部隊已進入伊朗”

      “美軍特種部隊已進入伊朗”

      觀察者網
      2026-04-04 20:03:27
      “麻豆傳媒·關停”:黃色產業,居然也有寒冬!?

      “麻豆傳媒·關停”:黃色產業,居然也有寒冬!?

      辰星雜談
      2026-04-04 13:38:22
      阿爾忒彌斯二號拍攝令人驚嘆的地球照片

      阿爾忒彌斯二號拍攝令人驚嘆的地球照片

      一半杯
      2026-04-03 23:33:48
      “5G基站”施工時被執法部門叫停,發現紅頭文件為偽造,有公司墊資近200萬;陜西省通信管理局:沒有此“合作”項目;警方正在調查

      “5G基站”施工時被執法部門叫停,發現紅頭文件為偽造,有公司墊資近200萬;陜西省通信管理局:沒有此“合作”項目;警方正在調查

      大象新聞
      2026-04-04 10:45:12
      2026-04-05 01:08:49
      51Testing軟件測試網 incentive-icons
      51Testing軟件測試網
      中國軟件測試人的精神家園
      1549文章數 13258關注度
      往期回顧 全部

      科技要聞

      內存一年漲四倍!國產手機廠商集體漲價

      頭條要聞

      特朗普發文:距離一切災難降臨在伊朗頭上僅剩48小時

      頭條要聞

      特朗普發文:距離一切災難降臨在伊朗頭上僅剩48小時

      體育要聞

      剎不住的泰格·伍茲,口袋里的兩粒藥丸

      娛樂要聞

      Q女士反擊,否認逼宋寧峰張婉婷離婚

      財經要聞

      中微董事長,給半導體潑點冷水

      汽車要聞

      17萬級海豹07EV 不僅續航長還有9分鐘滿電的快樂

      態度原創

      游戲
      親子
      本地
      藝術
      健康

      好玩還上頭!創新與傳統并存的戰棋黑馬《永鈴回響》值不值得玩?

      親子要聞

      孕婦買200元水果被丈夫罵后續:雙標到極致,家境曝光,網友勸離

      本地新聞

      跟著歌聲游安徽,聽古村回響

      藝術要聞

      你絕對不能錯過的夢幻性感攝影作品!

      干細胞抗衰4大誤區,90%的人都中招

      無障礙瀏覽 進入關懷版