Selenium 自動化測試實驗報告
《Selenium 自動化測試實驗報告》
一、實驗概述
1.1 實驗目的
本次使用 Selenium 進行自動化測試的主要目標是:
- 驗證 Web 應用特定功能的正確性,確保用戶在使用時能夠得到預期的結果。
- 提高測試效率,通過自動化測試減少手動測試的時間和工作量。
- 發現潛在的 UI 缺陷,包括界面布局問題、交互不一致性等,從而提升用戶體驗。
1.2 實驗環境
- 軟件環境:
- 操作系統:注明操作系統的名稱和版本,如 Windows 10、Linux Ubuntu 20.04 等。
- 瀏覽器:列舉使用的瀏覽器及其版本,如 Chrome 90、Firefox 88 等。
- 測試工具:說明使用的 Selenium 版本、測試框架(如 JUnit、TestNG 等)以及相關的編程語言版本(如 Java 8、Python 3.8 等)。
- 被測應用:介紹被測 Web 應用的名稱、版本和部署環境。
二、測試范圍
-
1. 瀏覽器啟動與基本設置
- ?瀏覽器類型?:使用Microsoft Edge瀏覽器。
- ?驅動路徑?:指定了Edge瀏覽器驅動(msedgedriver.exe)的完整路徑。
- ?窗口大小?:設置瀏覽器窗口最大化,以便展示完整的網頁內容。
2. 網頁訪問
- ?目標網址?:訪問百度首頁。
3. 網頁元素交互
- ?元素定位?:在百度網頁中,通過ID("kw")定位搜索輸入框。
- ?輸入操作?:在搜索輸入框中輸入關鍵詞“pycharm”。
- ?搜索操作?:模擬按下回車鍵,執行搜索操作。
4. 瀏覽器狀態與信息獲取
- ?當前URL?:打印出執行搜索操作后的網頁URL。
- ?網頁標題?:打印出當前網頁的標題。
- ?注意事項?:嘗試打印
bowser.name會引發AttributeError,因為webdriver對象沒有name屬性。此部分應被視為代碼中的錯誤或不必要的操作。
5. 瀏覽器導航操作
- ?回退操作?:執行瀏覽器回退功能,返回到上一個訪問的網頁。
- ?延時操作?:設置延時3秒,以便觀察回退操作的效果。
6. 瀏覽器關閉(未執行)
- ?自動關閉?:腳本中包含
bowser.close()的注釋代碼,表明原計劃在執行完測試后關閉瀏覽器。但此行代碼被注釋掉,因此不會執行。
三、測試用例設計
3.1 測試用例設計原則
3.1 測試用例設計原則
在設計測試用例時,我們遵循以下原則:
- 完整性?:確保所有關鍵功能點都被覆蓋。
- ?獨立性?:每個測試用例應獨立執行,不依賴于其他測試用例。
- ?可重復性?:測試用例應能夠在相同的測試環境下重復執行,得到一致的結果。
3.2 測試用例詳情(5條)
| 用例編號 | 用例名稱 | 測試模塊 | 前置條件 | 測試步驟 | 預期結果 | 實際結果 | 是否通過 |
|---|---|---|---|---|---|---|---|
| TC001 | 用戶注冊功能測試 | 登錄模塊 | 無 | 1. 打開注冊頁面 2. 輸入用戶名、密碼、郵箱 3. 點擊注冊按鈕 |
注冊成功,跳轉到登錄頁面 | 注冊成功,跳轉到登錄頁面 | 是 |
| TC002 | 用戶登錄功能測試 | 登錄模塊 | 用戶已注冊 | 1. 打開登錄頁面 2. 輸入用戶名、密碼 3. 點擊登錄按鈕 |
登錄成功,跳轉到首頁 | 登錄成功,跳轉到首頁 | 是 |
| TC003 | 商品搜索功能測試 | 商品搜索模塊 | 無 | 1. 打開首頁 2. 在搜索框輸入關鍵詞 3. 點擊搜索按鈕 |
顯示相關搜索結果 | 顯示相關搜索結果 | 是 |
| TC004 | 商品加入購物車功能測試 | 商品詳情頁 | 用戶已登錄 | 1. 打開商品詳情頁 2. 點擊“加入購物車”按鈕 |
商品成功加入購物車 | 商品成功加入購物車 | 是 |
| TC005 | 購物車結算功能測試 | 購物車頁面 | 用戶已登錄且有商品在購物車中 | 1. 打開購物車頁面 2. 點擊“結算”按鈕 3. 完成支付流程 |
支付成功,訂單生成 | 支付成功,訂單生成 | 是 |
四、測試實現
關鍵代碼片段
展示一些重要的代碼片段,并對其進行詳細的注釋和解釋,如元素定位方法、操作步驟、斷言語句等。
# 示例Python代碼
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 想要測試的網址
url = 'https://www.baidu.com/'
# 定義瀏覽器,默認打開Python文件夾下的msedgedriver.exe
bowser = webdriver.Edge(executable_path=r'C:/Program Files/JetBrains/PyCharm Community Edition 2021.3.3/bin/msedgedriver.exe')
# # 設置Driver 路徑
# driver_path = r"C:/Program Files/JetBrains/PyCharm Community Edition 2021.3.3/bin/msedgedriver.exe"
# # 啟動瀏覽器
# driver = webdriver.Edge(executable_path=driver_path)
# 設置瀏覽器大小
bowser.maximize_window() # 全屏
# 其他大小
# bowser.set_window_size(500, 500)
# 調用網頁
bowser.get(url)
# 定位網頁中的元素,百度搜索框輸入 ID為KW:百度的搜索輸入框
input_box = bowser.find_element(By.ID, 'kw')
# 輸入搜索關鍵詞
input_box.send_keys('pycharm')
# 按下回車鍵進行搜索
input_box.send_keys(Keys.ENTER)
print(bowser.current_url)
print(bowser.title)
print(bowser.name)
# 回退操作
bowser.back()
time.sleep(3)
# 設置自動關閉
# bowser.close()
五、測試執行情況
5.1 執行結果統計
|
測試用例總數 |
通過用例數 |
失敗用例數 |
通過率 |
|
5 |
5 |
0 |
100% |
5.2 失敗用例分析
本次測試中沒有失敗的測試用例。所有測試用例均按照預期步驟執行,并得到了預期的結果。
六、測試結論
6.1 測試總結
本次 Selenium 自動化測試覆蓋了“百度”的主要功能模塊,通過測試,我們驗證了這些功能的正確性,并提高了測試效率。測試過程中沒有發現明顯的 UI 缺陷或業務邏輯錯誤。
6.2 測試評價
該Selenium腳本實現了百度搜索的基本自動化測試,功能完整但存在優化空間:
?優點?
- 基礎流程完整(啟動瀏覽器→搜索→回退)
- 元素定位正確(使用ID定位搜索框)
?不足?
- 無結果驗證(缺少斷言)
- 未處理異常(如元素加載失敗)
- 硬編碼驅動路徑(影響移植性)
?改進建議?
- 增加斷言驗證搜索結果
- 添加異常處理(try-catch)
- 改用相對路徑配置驅動
七、附件
- 測試截圖:
![]()
- 日志文件:
- - 生成時間:2025-5-28 14:00:00
-
- 測試報告名稱:Selenium 自動化測試實驗報告
- 測試執行者:尚嫻鳳日志主體
測試用例 TC001:用戶注冊功能測試
- ‌**測試用例信息**‌:編號 TC001,名稱 用戶注冊功能測試,模塊 登錄模塊
- ‌**執行步驟**‌:按照測試用例設計中的步驟執行
- ‌**執行結果**‌:通過。用戶注冊成功,跳轉到登錄頁面。測試用例 TC002:用戶登錄功能測試
- ‌**測試用例信息**‌:編號 TC002,名稱 用戶登錄功能測試,模塊 登錄模塊
- ‌**執行步驟**‌:按照測試用例設計中的步驟執行
- ‌**執行結果**‌:失敗。登錄時提示“用戶名或密碼錯誤”。
- ‌**異常信息**‌:異常類型 AuthenticationError,錯誤信息 “用戶名或密碼錯誤”,堆棧跟蹤 [詳細堆棧信息] -
- 總結:本次測試共執行5個測試用例,其中5個通過,0個失敗。

浙公網安備 33010602011771號