1.簡介
分頁測試,這種一般都是公共的方法系統中都寫好了,這種一般出現是數據展示比較多的時候,會採取分頁的方法,而且比較固定,一般是沒有問題的,因此它非常適合自動化測試,但是如何使用playwright來進行分頁自動化測試了,宏哥今天就講解和分享一下。
2.測試場景
對分頁來說,我們最感興趣的和測試的無非就是下面幾個信息:
(1)當前總共有多少頁(因爲有時候當前是6頁但是點擊下一個前邊的消失後邊的頁碼就會出現了,總數大於當前頁數)
(2)當前是第幾頁
(3)是否可以上一頁和下一頁點擊
3.自動化實戰
宏哥發現了一個有用的小網站,在這裏可以找到各種各樣的實例,宏哥就再也不用自己寫demo了,網站地址:https://www.jq22.com
3.1代碼設計
3.2參考代碼
# coding=utf-8🔥 # 1.先設置編碼,utf-8可支持中英文,如上,一般放在第一行 # 2.註釋:包括記錄創建時間,創建人,項目名稱。 ''' Created on 2023-12-07 @author: 北京-宏哥 公衆號:北京宏哥 Project: 《最新出爐》系列入門篇-Python+Playwright自動化測試-43-分頁測試 ''' # 3.導入模塊 from playwright.sync_api import Playwright, sync_playwright, expect def run(playwright: Playwright) -> None: browser = playwright.chromium.launch(headless=False) context = browser.new_context() page = context.new_page() page.goto("https://www.jq22.com/demo/jqueryPager202102221221/") # 獲得所有分頁的數量 # -4是因爲要去掉首頁、上一個(«)和下一個(»)'[name="radio"]' total_pages = page.locator('//*[@id="page"]/ul/li').count()-4 print("Total page is", total_pages) for li in page.locator('//*[@id="page"]/ul/li').all(): page.locator("//div[@id='page']/ul/li[8]").click() page.wait_for_timeout(300) # 當前頁面是第幾頁 current_page = page.locator("#page>> ul >> li.active") print("Current page is", current_page.text_content()) context.close() browser.close() with sync_playwright() as playwright: run(playwright)
3.3運行代碼
1.運行代碼,右鍵Run'Test',控制檯輸出,如下圖所示:
2.運行代碼後電腦端的瀏覽器的動作。如下圖所示:
4.小結
到此分頁自動化測試就實現了,其實很簡單的。好了,今天時間不是很早了,宏哥就講解和分享到這裏,感謝您耐心的閱讀!!!