<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          微軟開源的WebUI自動(dòng)化測(cè)試神器Playwright???????

          共 2434字,需瀏覽 5分鐘

           ·

          2021-01-11 11:59

          使用Playwright進(jìn)行快速可靠的跨瀏覽器測(cè)試

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

          Playwright可以跨多種瀏覽器測(cè)試網(wǎng)絡(luò)應(yīng)用:
          • 基于chromium的瀏覽器,如谷歌Chrome和新的Microsoft Edge;

          • 基于webkit的蘋果Safari;

          • 基于gecko的Mozilla Firefox;

          現(xiàn)在,Playwright 1.7.0已經(jīng)在npm上可用了

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


          Playwright通過無超時(shí)自動(dòng)化提高了可靠性

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

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

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


          現(xiàn)在和未來的Web自動(dòng)化

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


            Playwright-可以攔截網(wǎng)絡(luò)請(qǐng)求,從而中止,修改或模擬網(wǎng)絡(luò)請(qǐng)求,如下:

          Playwright入門:在本地和CI

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

          安裝Playwright

          //Step 1、安裝 playwright-python 依賴庫(kù) 
          pip3 install playwright

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

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

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

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

          微信群:
          軟件自動(dòng)化測(cè)試交流群
          已創(chuàng)建,公號(hào)回復(fù)入群即可獲取入群二維碼。
          瀏覽 108
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文精品欧美无线码一区 | 久久久成人电影视频 | 色国产精品 | 福利精品一区二区三区四区 | 成人精品豆花 |