国产天天看天天片_亚洲欧美一级特黄大片录像_中文字幕乱码无遮挡精品视频_欧美一区二区三区粉红视频!

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

PlayWright(十)|全球熱訊

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


(資料圖片)

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

1、使用秘籍

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

2、小試牛刀

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

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

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

3、再接再厲

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

我們怎么檢驗(yàn)是否登錄成功呢?

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

至此,我們完成了需求,

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

關(guān)鍵詞:

[責(zé)任編輯:xwzkw]

相關(guān)閱讀