Python playwright學(xué)習(xí)之自動錄制生成腳本
前言
playwright 可以支持自動錄制生成腳本,也就是說只需要在頁面上點點點,就可以自動生成對應(yīng)的腳本了。
啟動運(yùn)行
Playwright 具有開箱即用的生成測試的能力,是快速開始測試的好方法。它將打開兩個窗口,一個是瀏覽器窗口,您可以在其中與要測試的網(wǎng)站進(jìn)行交互,另一個是 Playwright Inspector 窗口,您可以在其中記錄測試、復(fù)制測試、清除測試以及更改測試語言。
使用命令行啟動
playwright codegen http://網(wǎng)站地址
啟動后,電腦上出現(xiàn)2個窗口,左邊是瀏覽器打開網(wǎng)站可以操作,右邊是inspector 可以生成對應(yīng)的腳本
登錄框輸入賬號和密碼點登錄為例
一個完整的登錄流程代碼生成如下
from playwright.sync_api import Playwright, sync_playwright, expect # 上海悠悠 wx:283340479 # blog:https://www.cnblogs.com/yoyoketang/ def run(playwright: Playwright) -> None: browser = playwright.chromium.launch(headless=False) context = browser.new_context() page = context.new_page() page.goto("http://127.0.0.1:8000/login.html") page.get_by_placeholder("請輸入用戶名").click() page.get_by_placeholder("請輸入用戶名").fill("yoyo") page.get_by_placeholder("請輸入密碼").click() page.get_by_placeholder("請輸入密碼").fill("aa123456") page.get_by_role("button", name="立即登錄 >").click() # --------------------- context.close() browser.close() with sync_playwright() as playwright: run(playwright)
還可以選擇生成異步代碼
如果你是寫自動化測試用例,還能自動生成 pytest 框架的代碼,簡直了!
from playwright.sync_api import Page, expect # 上海悠悠 wx:283340479 # blog:https://www.cnblogs.com/yoyoketang/ def test_example(page: Page) -> None: page.goto("http://127.0.0.1:8000/login.html") page.get_by_placeholder("請輸入用戶名").click() page.get_by_placeholder("請輸入用戶名").fill("yoyo") page.get_by_placeholder("請輸入密碼").click() page.get_by_placeholder("請輸入密碼").fill("aa123456") page.get_by_role("button", name="立即登錄 >").click()
錄制相關(guān)命令操作
相關(guān)命令參數(shù):
1.codegen在瀏覽器中運(yùn)行并執(zhí)行操作
playwright codegen playwright.dev
2.Playwright 打開一個瀏覽器窗口,其視口設(shè)置為特定的寬度和高度,并且沒有響應(yīng),因為需要在相同條件下運(yùn)行測試。
使用該–viewport選項生成具有不同視口大小的測試。
playwright codegen --viewport-size=800,600 playwright.dev
3.--device
使用設(shè)置視口大小和用戶代理等選項模擬移動設(shè)備時記錄腳本和測試。
模擬移動設(shè)備iPhone11,注意:device的值必須用雙引號,并且區(qū)分大小寫
playwright codegen --device="iPhone 11" playwright.dev
4.模擬配色
playwright codegen --color-scheme=dark playwright.dev
5.模擬地理位置、語言和時區(qū)
playwright codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com
6.保留經(jīng)過身份驗證的狀態(tài)
運(yùn)行codegen以在會話結(jié)束時–save-storage保存cookie和localStorage 。這對于單獨記錄身份驗證步驟并在稍后的測試中重用它很有用。
執(zhí)行身份驗證并關(guān)閉瀏覽器后,auth.json將包含存儲狀態(tài)。
playwright codegen --save-storage=auth.json
運(yùn)行–load-storage以消耗先前加載的存儲。這樣,所有的cookie和localStorage都將被恢復(fù),使大多數(shù)網(wǎng)絡(luò)應(yīng)用程序進(jìn)入身份驗證狀態(tài)。
playwright open --load-storage=auth.json my.web.app playwright codegen --load-storage=auth.json my.web.app # Perform actions in authenticated state.
page.pause() 斷點調(diào)試
如果您想在某些非標(biāo)準(zhǔn)設(shè)置中使用 codegen(例如,使用browser_context.route()),可以調(diào)用page.pause(),這將打開一個帶有 codegen 控件的單獨窗口。
from playwright.sync_api import sync_playwright with sync_playwright() as p: # Make sure to run headed. browser = p.chromium.launch(headless=False) # Setup context however you like. context = browser.new_context() # Pass any options context.route('**/*', lambda route: route.continue_()) # Pause the page, and start recording manually. page = context.new_page() page.pause()
到此這篇關(guān)于Python playwright學(xué)習(xí)之自動錄制生成腳本的文章就介紹到這了,更多相關(guān)Python playwright自動錄制生成腳本內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實例
下面小編就為大家分享一篇python讀取文本中數(shù)據(jù)并轉(zhuǎn)化為DataFrame的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04Python爬蟲beautifulsoup4常用的解析方法總結(jié)
今天小編就為大家分享一篇關(guān)于Python爬蟲beautifulsoup4常用的解析方法總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-02-02Python如何基于Tesseract實現(xiàn)識別文字功能
這篇文章主要介紹了Python如何基于Tesseract實現(xiàn)識別文字功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06