[Python] 自動化測試案例:從檔案中讀取用例資料,進行介面功能測試(Selenium)
阿新 • • 發佈:2021-01-10
目錄
準備工作
待測功能
取值範圍
區域:華北區、華南區、西南區
級別:金卡、銀卡、普通卡
係數:高係數、中係數、低係數
計算後,如果資料大於 550.0 ,就認為需要報警
資料檔案
testAuto.txt
9個用例
華北區,金卡,高係數
華北區,銀卡,中係數
華北區,普通卡,低係數
華南區,金卡,中係數
華南區,銀卡,低係數
華南區,普通卡,高係數
西南區,金卡,低係數
西南區,銀卡,高係數
西南區,普通卡,中係數
測試環境
- Python
- Firefox
- 在Python裡安裝 Selenium
pip install selenium
- 安裝driver for firefox
請按瀏覽器選擇對應的driver下載,我這裡是firefox的。
firefox driver下載版本地址:
https://github.com/mozilla/geckodriver/releases
測試程式碼
from selenium import webdriver import time f = webdriver.Firefox() f.maximize_window() f.get("http://localhost:64580/test1.aspx") # 等待網頁載入完成 time.sleep(3) # 只讀方式開啟資料檔案,注意預設是gbk編碼,建議使用UTF-8 data = open("C:\\release\\testAUTO.TXT", "r", encoding='UTF-8') # 按行讀取資料檔案,每行是一個字串,rows 這個字串的集合 rows = data.readlines() # 及時關閉檔案 data.close() # 按行數迴圈,len 是獲取字串集合的數量 for i in range(0, len(rows)): # strip是去除末尾的換行符 \n rows[i] = rows[i].strip('\n') # 按逗號分隔每行這個字串 ss = rows[i].split(',') ddlPlace = f.find_element_by_id("ddlPlace") # 區域 ddlLevel = f.find_element_by_id("ddlLevel") # 級別 ddlRate = f.find_element_by_id("ddlRate") # 係數 btn = f.find_element_by_id("btnQuery"); # 計算按鈕 # 用每行的內容,設定介面下拉框的內容 ddlPlace.send_keys(ss[0]) ddlLevel.send_keys(ss[1]) ddlRate.send_keys(ss[2]) # 觸發計算按鈕點選事件 btn.click() # 停留1秒,等待計算完成 time.sleep(1) # 獲取計算結果,並和和550.0比較 result = f.find_element_by_id("lResult").text # 計算結果是字元型別,用float轉化為小數,用於比較大小 if (float(result)) > 550.0: print(result + "超過550,異常") else: print(result + "是正常的") # 關閉自動開啟的火狐瀏覽器,釋放資源 f.quit()
執行程式碼,輸出結果:
540.0是正常的
220.0是正常的
100.0是正常的
495.0是正常的
200.0是正常的
180.0是正常的
600.0超過550,異常
480.0是正常的
220.0是正常的