1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        微軟開源的WebUI自動化測試神器Playwright???????

        共 2434字,需瀏覽 5分鐘

         ·

        2021-01-11 11:59

        使用Playwright進行快速可靠的跨瀏覽器測試

        前言:
        現如今,Web開發(fā)與發(fā)布的速度是非??斓?;Web應用變得越來越復雜,而且可以在所有設備上運行——我們的手機、平板電腦和臺式機等,每個設備都運行不同的瀏覽器引擎。速度和目標的增加給測試過程帶來了巨大的壓力: 跨瀏覽器的自動化測試越來越重要。
        end-to-end的自動化測試功能非常強大:至少在理論上,通過復制用戶交互行為,它們可以驗證功能、性能和可用性。
        但在實踐中,end-to-end測試可能很慢,不穩(wěn)定且難以維護。
        今天我們就來隆重介紹一下Playwright,它是一個跨瀏覽器的自動化庫,將其用于測試時顯得更加快速、可靠和強大。

        Playwright可以跨多種瀏覽器測試網絡應用:
        • 基于chromium的瀏覽器,如谷歌Chrome和新的Microsoft Edge;

        • 基于webkit的蘋果Safari;

        • 基于gecko的Mozilla Firefox;

        現在,Playwright 1.7.0已經在npm上可用了。

        借助單個API,Playwright可以在基于可靠和快速執(zhí)行的基礎上跨不同的瀏覽器自動執(zhí)行各種場景。


        Playwright通過無超時自動化提高了可靠性

        現在的Web應用程序樣式豐富且交互性強,并動態(tài)響應用戶的操作。諸多的異步行為使應用程序難以實現自動化預測,網絡請求可能比平時花費更長的時間,導致一直在加載的狀態(tài)。
        Playwright為UI準備了自動等待,這有助于測試者創(chuàng)建可靠且易于編寫的測試。
        例如,點擊頁面時,將自動等待目標元素可見并可用。
        這樣,開發(fā)人員或者測試人員可以編寫專注于測試場景的測試用例,而不是針對時間或UI狀態(tài)的測試。久而久之,這顯著提高了測試代碼的可維護性。
        實際上,Playwright使用了事件驅動的架構,可以偵聽瀏覽器事件。Playwright測試可以準確地等待DOM更改、網絡請求,甚至新的控制臺日志。Playwright使用與瀏覽器的開發(fā)者工具(F12)相同的協(xié)議,這些工具是開發(fā)人員都熟悉而且喜歡的工具。
        通過精確的瀏覽器事件,自動化腳本可以避免超時。在傳統(tǒng)的end-to-end測試中,等待應用加載完成通常是管理異步行為的唯一方法。但是,超時是一個滑坡效應:它們總是導致不一致的失敗或“不穩(wěn)定的測試”。
        如下圖,自動等待頁面操作和API,以實現更精細的控制。

        Playwright可擴展的自動化:快速,并行執(zhí)行

        Playwright旨在 在本地和云環(huán)境中提供快速、并行的自動化測試;Chromium,Firefox或WebKit的單個實例可以創(chuàng)建多個隔離的并發(fā)的瀏覽器上下文。這顯著提高了性能,并支持獨立的多頁面模擬場景。
        一個瀏覽器可以承載多個web頁面并定義上下文級的行為,例如網絡攔截或身份驗證憑據。瀏覽器上下文還可以模擬移動視圖,模擬地理位置和區(qū)域環(huán)境。這使單個WebKit實例可在多個設備配置上并行執(zhí)行多個頁面場景:desktop,iPhone和iPad。


        現在和未來的Web自動化

        Web平臺比以往任何時候都更有強大,而且還在不斷發(fā)展。Playwright的出現是為了跟上網絡瀏覽器和Web應用程序不斷增長的功能。它還包括漸進式Web應用程序(PWA)使用的更新的瀏覽器功能。
        Playwright可以通過一個API自動化實現Chromium,Firefox和WebKit的多種功能:
        • 模擬移動視圖,權限,地理位置和區(qū)域設置
        • 通過shadow-piercing選擇器支持Web組件
        • 網絡攔截,用于修改和模擬網絡活動
        • 文件上傳和下載
        • 跨多個框架,選項卡和彈出窗口的方案
        • 來自鼠標和鍵盤的可信賴本機輸入事件
        • 網絡工作者和進程外iframe


          Playwright-可以攔截網絡請求,從而中止,修改或模擬網絡請求,如下:

        Playwright入門:在本地和CI

        目前在npm上更新到Playwright 1.7.1
        官網地址:https://www.npmjs.com/package/playwright

        安裝Playwright

        //Step 1、安裝 playwright-python 依賴庫 
        pip3 install playwright

        //Step 2、# 安裝瀏覽器驅動
        //將主流的Chromeium、Firefox、Webkit瀏覽器驅動下載到本地
        python -m playwright install

        Win系統(tǒng)安裝過程如下圖:

        更多的實戰(zhàn)可以參考上一篇文章:
        微軟最強 Python自動化工具開源了!不用寫一行代碼!
        后續(xù)將繼續(xù)更新該系列的文章。
        如果你覺得文章還不錯,請大家?點贊、分享、留言?下,因為這將是我持續(xù)輸出更多優(yōu)質文章的最強動力!
        Appium教程
        1. Appium移動端自動化測試--基礎預熱
        2. Appium移動端自動化測試--搭建測試環(huán)境
        3. Appium移動端自動化測試--錄制測試用例并運行
        4. Appium移動端自動化測試--使用IDE編輯并強化腳本
        5. Appium移動端自動化測試--控件定位方法
        6. Appium移動端自動化測試--元素操作與觸摸動作
        7. Appium移動端自動化測試--搭建模擬器和真機環(huán)境
        8. Appium移動端自動化測試--測試用例改造
        9. Appium移動端自動化測試--capability使用和常用設備交互命令
        文章合集
        Selenium?|?Appium??|?Jenkins??|??Jmeter?
        軟件測試方法匯總?|?測試用例設計?|?APP抓包
        POSTMAN教程大全?|?Postman接口參數化

        視頻教程
        Selenium?|?Appium?|?Jenkins?|?Jmeter

        微信群:
        軟件自動化測試交流群
        已創(chuàng)建,公號回復入群即可獲取入群二維碼。
        瀏覽 108
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            国产三级片播放 | 日韩性爱影院 | 国产99自拍 | 国产真实交换配乱淫视频 | 手机在线看片av 国产三级免费观看 | 中国女人18一级毛片 | 丁香色婷婷五月 | 五月天开心激情网_亚欧乱色国产精品 | 黄色操逼一级视频 | 黄色视频在线免费看 |