中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python?playwright怎么自動錄制生成腳本

發布時間:2023-02-28 14:22:00 來源:億速云 閱讀:159 作者:iii 欄目:開發技術

今天小編給大家分享一下Python playwright怎么自動錄制生成腳本的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

前言

playwright 可以支持自動錄制生成腳本,也就是說只需要在頁面上點點點,就可以自動生成對應的腳本了。

啟動運行

Playwright 具有開箱即用的生成測試的能力,是快速開始測試的好方法。它將打開兩個窗口,一個是瀏覽器窗口,您可以在其中與要測試的網站進行交互,另一個是 Playwright Inspector 窗口,您可以在其中記錄測試、復制測試、清除測試以及更改測試語言。

使用命令行啟動

playwright codegen http://網站地址

啟動后,電腦上出現2個窗口,左邊是瀏覽器打開網站可以操作,右邊是inspector 可以生成對應的腳本

Python?playwright怎么自動錄制生成腳本

登錄框輸入賬號和密碼點登錄為例

Python?playwright怎么自動錄制生成腳本

一個完整的登錄流程代碼生成如下

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)

還可以選擇生成異步代碼

Python?playwright怎么自動錄制生成腳本

如果你是寫自動化測試用例,還能自動生成 pytest 框架的代碼,簡直了!

Python?playwright怎么自動錄制生成腳本

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()

錄制相關命令操作

相關命令參數:

1.codegen在瀏覽器中運行并執行操作

playwright codegen playwright.dev

2.Playwright 打開一個瀏覽器窗口,其視口設置為特定的寬度和高度,并且沒有響應,因為需要在相同條件下運行測試。

使用該–viewport選項生成具有不同視口大小的測試。

playwright codegen --viewport-size=800,600 playwright.dev

3.--device 使用設置視口大小和用戶代理等選項模擬移動設備時記錄腳本和測試。

模擬移動設備iPhone11,注意:device的值必須用雙引號,并且區分大小寫

playwright codegen --device="iPhone 11" playwright.dev

4.模擬配色

playwright codegen --color-scheme=dark playwright.dev

5.模擬地理位置、語言和時區

playwright codegen --timezone="Europe/Rome" --geolocation="41.890221,12.492348" --lang="it-IT" maps.google.com

6.保留經過身份驗證的狀態

運行codegen以在會話結束時–save-storage保存cookie和localStorage 。這對于單獨記錄身份驗證步驟并在稍后的測試中重用它很有用。

執行身份驗證并關閉瀏覽器后,auth.json將包含存儲狀態。

playwright codegen --save-storage=auth.json

運行–load-storage以消耗先前加載的存儲。這樣,所有的cookie和localStorage都將被恢復,使大多數網絡應用程序進入身份驗證狀態。

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() 斷點調試

如果您想在某些非標準設置中使用 codegen(例如,使用browser_context.route()),可以調用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()

以上就是“Python playwright怎么自動錄制生成腳本”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正安县| 锦州市| 玉田县| 濉溪县| 合江县| 高邑县| 霍州市| 太保市| 忻城县| 沂南县| 海原县| 小金县| 阳高县| 泰安市| 运城市| 象州县| 岗巴县| 五大连池市| 宜丰县| 宣武区| 股票| 宁南县| 阿鲁科尔沁旗| 涿州市| 延边| 南汇区| 阳信县| 思茅市| 龙口市| 镇安县| 涪陵区| 余干县| 建昌县| 闵行区| 承德市| 阳春市| 从江县| 津市市| 武夷山市| 高安市| 广安市|