
- Selenium 教程
- Selenium - 首頁
- Selenium - 概述
- Selenium - 元件
- Selenium - 自動化測試
- Selenium - 環境設定
- Selenium - 遠端控制
- Selenium IDE 教程
- Selenium - IDE 簡介
- Selenium - 特性
- Selenium - 限制
- Selenium - 安裝
- Selenium - 建立測試
- Selenium - 建立指令碼
- Selenium - 控制流
- Selenium - 儲存變數
- Selenium - 警報和彈出視窗
- Selenium - Selenese 命令
- Selenium - Actions 命令
- Selenium - Accessors 命令
- Selenium - Assertions 命令
- Selenium - Assert/Verify 方法
- Selenium - 定位策略
- Selenium - 指令碼除錯
- Selenium - 驗證點
- Selenium - 模式匹配
- Selenium - JSON 資料檔案
- Selenium - 瀏覽器執行
- Selenium - 使用者擴充套件
- Selenium - 程式碼匯出
- Selenium - 程式碼生成
- Selenium - JavaScript 函式
- Selenium - 外掛
- Selenium WebDriver 教程
- Selenium - 簡介
- Selenium WebDriver vs RC
- Selenium - 安裝
- Selenium - 第一個測試指令碼
- Selenium - 驅動程式會話
- Selenium - 瀏覽器選項
- Selenium - Chrome 選項
- Selenium - Edge 選項
- Selenium - Firefox 選項
- Selenium - Safari 選項
- Selenium - 雙擊
- Selenium - 右擊
- Python 中的 HTML 報告
- 處理編輯框
- Selenium - 單個元素
- Selenium - 多個元素
- Selenium Web 元素
- Selenium - 檔案上傳
- Selenium - 定位器策略
- Selenium - 相對定位器
- Selenium - 定位器
- Selenium - 查詢所有連結
- Selenium - 使用者互動
- Selenium - WebElement 命令
- Selenium - 瀏覽器互動
- Selenium - 瀏覽器命令
- Selenium - 瀏覽器導航
- Selenium - 警報和彈出視窗
- Selenium - 處理表單
- Selenium - 視窗和標籤頁
- Selenium - 處理連結
- Selenium - 輸入框
- Selenium - 單選按鈕
- Selenium - 複選框
- Selenium - 下拉框
- Selenium - 處理 IFrame
- Selenium - 處理 Cookie
- Selenium - 日期時間選擇器
- Selenium - 動態 Web 表格
- Selenium - Actions 類
- Selenium - Action 類
- Selenium - 鍵盤事件
- Selenium - 鍵向上/向下
- Selenium - 複製和貼上
- Selenium - 處理特殊鍵
- Selenium - 滑鼠事件
- Selenium - 拖放
- Selenium - 筆事件
- Selenium - 滾動操作
- Selenium - 等待策略
- Selenium - 顯式/隱式等待
- Selenium - 支援特性
- Selenium - 多選
- Selenium - 等待支援
- Selenium - 選擇支援
- Selenium - 顏色支援
- Selenium - ThreadGuard
- Selenium - 錯誤和日誌記錄
- Selenium - 異常處理
- Selenium - 其他
- Selenium - 處理 Ajax 呼叫
- Selenium - JSON 資料檔案
- Selenium - CSV 資料檔案
- Selenium - Excel 資料檔案
- Selenium - 跨瀏覽器測試
- Selenium - 多瀏覽器測試
- Selenium - 多視窗測試
- Selenium - JavaScript 執行器
- Selenium - 無頭執行
- Selenium - 捕獲螢幕截圖
- Selenium - 捕獲影片
- Selenium - 頁面物件模型
- Selenium - 頁面工廠
- Selenium - 錄製和回放
- Selenium - 框架
- Selenium - 瀏覽上下文
- Selenium - DevTools
- Selenium Grid 教程
- Selenium - 概述
- Selenium - 架構
- Selenium - 元件
- Selenium - 配置
- Selenium - 建立測試指令碼
- Selenium - 測試執行
- Selenium - 端點
- Selenium - 自定義節點
- Selenium 報告工具
- Selenium - 報告工具
- Selenium - TestNG
- Selenium - JUnit
- Selenium - Allure
- Selenium & 其他技術
- Selenium - Java 教程
- Selenium - Python 教程
- Selenium - C# 教程
- Selenium - Javascript 教程
- Selenium - Kotlin 教程
- Selenium - Ruby 教程
- Selenium - Maven & Jenkins
- Selenium - 資料庫測試
- Selenium - LogExpert 日誌記錄
- Selenium - Log4j 日誌記錄
- Selenium - Robot Framework
- Selenium - AutoIT
- Selenium - Flash 測試
- Selenium - Apache Ant
- Selenium - Github 教程
- Selenium - SoapUI
- Selenium - Cucumber
- Selenium - IntelliJ
- Selenium - XPath
Selenium - 自動化框架
Selenium Webdriver 可用於開發基於關鍵字、資料和混合驅動框架的測試指令碼。關鍵字驅動框架主要用於建立功能測試用例,在測試用例設計和開發之間有明確的界限。資料驅動框架主要用於建立依賴於外部資料來源資料的測試用例,也可以用於迴歸測試。混合驅動框架是關鍵字驅動框架和資料驅動框架的組合。
自動化框架的必要性
讓我們假設一個由三個人組成的團隊被要求為同一個應用程式建立測試指令碼。除了編寫某些需求的測試指令碼外,他們還需要在測試指令碼中加入日誌記錄和報告邏輯。
在沒有框架的情況下,所有三個團隊成員都將以他們習慣的方式建立測試指令碼,並匹配他們的技能組合。除此之外,所有測試指令碼都將採用不同的方法開發,這可能會使一起執行所有測試指令碼變得困難。
此外,每個測試指令碼都將遵循自定義日誌記錄,這將使收集執行後的日誌變得困難。給他們的需求可能需要從外部來源獲取資料。在這種情況下,團隊成員可能會硬編碼資料,或者使用 Excel 檔案,或者 XML 檔案,等等。因此,不會有任何統一性。
給團隊的需求可能有一些共同的功能,例如登入應用程式。在沒有框架的情況下,每個團隊成員都將為共同的登入功能以及其他獨特需求建立測試指令碼。因此,登入功能無法重用,導致測試指令碼重複。
在報告測試指令碼為透過/失敗時,團隊的每個成員都會採取不同的方法,這將在執行後使報告變得困難。此外,測試指令碼可以在不同的測試執行器中執行,例如使用純 Java、TestNG、JUnit、Maven 等。在沒有框架的情況下,每個團隊成員都可以遵循不同的方法來執行測試指令碼,因此我們可能無法將測試指令碼作為一個套件執行。
為了解決這些問題,我們需要自動化框架。
什麼是自動化框架?
自動化框架是一組標準、假設和準則,用於建立每個人都應遵守的測試指令碼。每個組織或團隊可能使用不同的框架,但每個框架都應遵循一組共同的規則。
框架開發是一個持續的過程,它需要時間來開發一個詳盡的框架。框架需要定期更新和維護。例如,某些庫可能已棄用,為此我們可能需要更新庫,在某些情況下可能需要新增其他庫以使框架更強大。
一旦在一段時間後開發了一個動態框架,新的測試指令碼就可以在很短的時間內開發出來。除此之外,維護也變得相對容易。
自動化框架的元件
自動化框架的元件包括:
測試用例標準化(測試)
測試用例應以統一的方式開發。例如,可以透過遵循稱為頁面物件模型的設計模式方法來建立測試用例。
日誌記錄標準化(記錄器)
測試用例的開發應確保進行適當的日誌記錄,以檢查執行過程中哪些地方正確或錯誤,以及進行除錯。
測試資料和配置標準化(資料提供者)
測試用例的開發應儘可能減少硬編碼,並且測試資料和配置應儲存在單獨的檔案中。因此,如果需要更改,我們只需要更新那些檔案,而無需更新其他區域。
實用程式庫標準化(幫助程式/可重用庫)
有一些與專案無關的實用程式,例如在失敗時捕獲螢幕截圖、同步、生成報告、日誌等等。除此之外,還有一些與專案相關且大部分可重用的實用程式,例如登入功能。
測試執行引擎(測試執行器)
應識別和定義適當的執行引擎。測試用例可以從 Jenkins、Maven、TestNG 等執行。
報告標準化(報告器)
應進行適當的報告,以向專案利益相關者展示執行情況。報告至少應涵蓋測試執行的功能、測試總數、透過和失敗測試的數量、測試持續時間、失敗的螢幕截圖等等。
自動化框架的型別
自動化框架的型別如下:
關鍵字驅動框架
關鍵字驅動測試框架是最流行的測試框架之一,自動化測試人員和手動測試人員廣泛使用。
資料驅動框架
資料驅動測試框架是測試領域中另一個廣泛使用的框架,其中資料和實現程式碼分別維護。
混合驅動框架
混合驅動框架結合了資料驅動和關鍵字驅動框架。測試資料和關鍵字(即要在應用程式上執行的操作)都來自外部檔案。
外部測試資料來源可以是任何副檔名為.txt、.properties、.xlsx、.xls、.csv的檔案,也可以藉助資料提供者。關鍵字可以來自Java類檔案、Excel檔案等等。
結論
本教程全面介紹了Selenium Webdriver自動化框架。我們首先介紹了為什麼要使用自動化框架,什麼是自動化框架,自動化框架的元件和型別,並描述了關鍵字驅動、資料驅動和混合框架。這將使您深入瞭解Selenium Webdriver中的自動化框架。建議您多加練習所學內容,並探索其他與Selenium相關的知識,以加深理解並拓寬視野。