夜夜夜夜猛噜噜噜噜噜试看_亚洲 制服 丝袜 无码 在线_国产精品无码一区二区三区免费_成人免费AV不卡在线观看_久久久精品免费

您的位置:首頁 > 財經(jīng) >

PlayWright(十)|全球熱訊

2023-06-27 11:27:03 來源:博客園


(資料圖片)

在web自動化測試中,經(jīng)常會有登錄的情況,并且每次打開頁面都需要登錄,非常麻煩,我們使用playwright的cookie實現(xiàn)自動化登錄

1、使用秘籍

① 登錄網(wǎng)站,正常輸入賬號密碼登錄② 保存cookie信息③ 使用之前cookie信息再次登錄網(wǎng)站

2、小試牛刀

我們以登錄一個測試平臺為例,網(wǎng)址:http://demo.liumatest.cn/#/home/dashboard登錄代碼如下:
with sync_playwright() as playwright:  # 省略了start啟動    browser = playwright.chromium.launch(headless=False, slow_mo=5000)  # 設置了每步等待時間為3s    context = browser.new_context()    page = context.new_page()  # 打開一個頁面    page.goto("http://demo.liumatest.cn/#/home/dashboard")  # 打開地址    # 輸入賬號密碼登錄    page.fill("#username","demo")  # 輸入賬號    page.fill("#password","123456")  # 輸入密碼    page.click("#login")  # 點擊登錄        page.wait_for_timeout(2000)    browser.close()  # 省略了關閉playwright對象
運行一下,可以看到我們已經(jīng)成功登錄了,現(xiàn)在我們要保存登錄的cookie信息,我們使用下邊這個:
context.storage_state(path="cookie.json")
意思是什么呢?聽我給你慢慢解釋:

storage_state 直譯為存儲狀態(tài),就如直譯一樣,這個方法會返回當前瀏覽器上下文的存儲狀態(tài),其中就會包含當前的cookie,我們?nèi)绻峁┞窂絽?shù),就會保存到指定的文件中,返回是一個字典

所以上邊我們使用了path表示把cookie保存存儲到cookie.json的文件中

3、再接再厲

我們接著用上邊例子看下,在登錄成功后的代碼里添加
page.click("#login")  # 點擊登錄context.storage_state(path="cookie.json")   # 保存storage_state 到JSON文件
再次運行查看下,我們的cookie.json文件已經(jīng)保存在當前項目地址下了到這里,我們第二步也已經(jīng)完成了接下來,我們來直接登錄網(wǎng)站吧,看是不是已經(jīng)登錄成功了
with sync_playwright() as playwright:  # 省略了start啟動    browser = playwright.chromium.launch(headless=False, slow_mo=5000)  # 設置了每步等待時間為3s        context = browser.new_context(storage_state="cookie.json")    page = context.new_page()  # 打開一個頁面    page.goto("http://demo.liumatest.cn/#/home/dashboard")  # 打開地址    page.screenshot(path="image.png")    browser.close()  # 省略了關閉playwright對象

我們怎么檢驗是否登錄成功呢?

選擇使用screenshot的方法,意思是截圖整個頁面,保存在當前的image.png文件中,我們查看進入網(wǎng)站的截圖

至此,我們完成了需求,

那接下來找一個網(wǎng)站嘗試下吧

關鍵詞:

[責任編輯:xwzkw]

相關閱讀