《最新出爐》系列初窺篇-Python+Playwright自動化測試-27-處理單選和多選按鈕-番外篇

宏哥發表於2023-11-14

1.簡介

  前邊幾篇文章是宏哥自己在本地弄了一個單選和多選的demo,然後又找了網上相關聯的例子給小夥伴或童鞋們演示了一下如何使用playwright來處理單選按鈕和多選按鈕進行自動化測試,想必大家都已經掌握的八九不離十了吧。這一篇其實也很簡單:就是宏哥在網上找了一個問卷調查例子,運用前邊所學的知識趁熱打鐵地給小夥伴或童鞋們來演示一下。前年的文章中的一些單選和多選的基本概念都介紹了,這裡就不做贅述了。直接上專案進行實戰。

2.專案實戰

2.1問卷調查

1.測試問卷調查的地址:

https://www.sojump.com/m/2792226.aspx/

2.問卷頁面,如下圖所示:

2.2答題思路

自動化測試答題思路,其實和前邊單選多選的遍歷差不多,具體思路如下:

1.首先找到所有單選和多選按鈕的共同點。

2.使用共同點來定位單選和多選按鈕,將其放在容器中。

3.利用for迴圈將其(單選和多選按鈕)從容器中一一遍歷出來,並進行逐個click。

2.3程式碼設計

根據答題中的遍歷思路進行程式碼設計如下圖所示:

2.4參考程式碼

# coding=utf-8?

# 1.先設定編碼,utf-8可支援中英文,如上,一般放在第一行

# 2.註釋:包括記錄建立時間,建立人,專案名稱。
'''
Created on 2023-10-27
@author: 北京-宏哥   QQ交流群:705269076
公眾號:北京宏哥
Project: 《最新出爐》系列初窺篇-Python+Playwright自動化測試-27-處理單選和多選按鈕-番外篇
'''

# 3.匯入模組
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)
    page = browser.new_page()
    page.goto("https://www.sojump.com/m/2792226.aspx")
    page.wait_for_timeout(3000)
    # 遍歷所有的單選框和多選框
    for radio in page.locator("//*/div[@id='divQuestion']/fieldset/div/div/div/span/input/../a").all():
        radio.click()
        page.wait_for_timeout(2000)
    # page.pause()
    browser.close()

2.5執行程式碼

1.執行程式碼,右鍵Run'Test',控制檯輸出,如下圖所示:

2.執行程式碼後電腦端的瀏覽器的動作。如下圖所示:

3.小結

今天其實就是對前邊單選和多選迴圈的一次總結和實踐。其他的也沒有新的東西。好了,今天時間也不早了,宏哥就講解和分享到這裡,感謝您耐心的閱讀,希望對您有所幫助。

相關文章