1. 程式人生 > 實用技巧 >[Python] 自動化測試案例:從檔案中讀取用例資料,進行介面功能測試(Selenium)

[Python] 自動化測試案例:從檔案中讀取用例資料,進行介面功能測試(Selenium)

目錄

準備工作

待測功能

取值範圍
區域:華北區、華南區、西南區
級別:金卡、銀卡、普通卡
係數:高係數、中係數、低係數
計算後,如果資料大於 550.0 ,就認為需要報警

資料檔案

testAuto.txt
9個用例

華北區,金卡,高係數
華北區,銀卡,中係數
華北區,普通卡,低係數
華南區,金卡,中係數
華南區,銀卡,低係數
華南區,普通卡,高係數
西南區,金卡,低係數
西南區,銀卡,高係數
西南區,普通卡,中係數

測試環境

  1. Python
  2. Firefox
  3. 在Python裡安裝 Selenium pip install selenium
  4. 安裝driver for firefox
    請按瀏覽器選擇對應的driver下載,我這裡是firefox的。
    http://selenium-python.readthedocs.io/installation.html#drivers

    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是正常的