- Selenium 教程
- Selenium - 首頁
- Selenium - 概述
- Selenium - 元件
- Selenium - 自動化測試
- Selenium - 環境設定
- Selenium - 遠端控制
- Selenium IDE 教程
- Selenium - IDE 簡介
- Selenium - 特性
- Selenium - 限制
- Selenium - 安裝
- Selenium - 建立測試
- Selenium - 建立指令碼
- Selenium - 控制流
- Selenium - 儲存變數
- Selenium - 警報和彈出視窗
- Selenium - Selenese 命令
- Selenium - 操作命令
- Selenium - 訪問器命令
- Selenium - 斷言命令
- 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 IDE - 控制流
Selenium IDE 命令包含功能,可以使用這些功能將條件語句和迴圈新增到測試中。這有助於僅在滿足特定條件時才執行某些步驟,或者根據特定條件多次執行相同的步驟。
JavaScript 表示式
可以使用 JavaScript 表示式驗證被測應用程式中的條件。execute script 和 execute async script 命令用於在測試中執行 JavaScript 程式碼並將結果儲存到變數以供將來使用。這些變數也可以用於控制流命令中。此外,JavaScript 表示式可以與控制流命令一起使用。
閱讀更多:Selenium IDE - JavaScript 函式
條件分支的基本控制流命令
下面列出了基本控制流命令及其伴隨命令:
if
這是條件分支的起始命令,可以與要評估的 JavaScript 命令一起使用,或者與在 JavaScript 命令之前建立的變數一起使用。這是 if 命令的目標輸入欄位的一部分。
如果表示式返回真值,則測試將執行 if 表示式之後的步驟,直到遇到下一個控制流命令(如 else、else if 或 end)。如果表示式返回假值,它將跳轉到以下條件命令,如 else、else if 或 end。
else if
此命令用於 if 命令塊內。與 if 命令類似,else if 命令接受要評估的 JavaScript 命令。這是 else if 命令的目標輸入欄位的一部分。
如果表示式返回真值,則測試將執行 if 表示式之後的步驟,直到遇到下一個控制流命令(如 else、else if 或 end)。如果表示式返回假值,它將跳轉到以下條件命令,如 else 或 end。
else
此命令用於容納 if 塊中的最後一個條件。如果前面沒有滿足任何條件,則執行 else 命令。
end
此命令用於結束條件命令塊。在條件塊中沒有 end 命令將導致在執行 Selenium IDE 測試時出錯。
迴圈的基本控制流命令
下面列出了迴圈的基本控制流命令(允許重複一組命令/命令的執行):
times
此命令用於定義需要執行的操作/操作的迭代次數。迭代次數透過此命令饋送到目標輸入欄位。times 命令應以 end 命令結束。
do
此命令用於開始迴圈。在 do 命令之後,宣告要執行的步驟。do 命令應以 repeat if 命令結束。repeat if 接受將在目標輸入欄位中執行的 JavaScript 表示式。do 命令後的命令將首先執行,然後是 repeat if 命令中的操作。
如果表示式返回真值,則測試執行將移動到下一個 do 命令並重做模式。這將一直持續到條件不再滿足或發生無限迴圈。預設嘗試次數為 1000。可以透過在 repeat if 命令的值欄位中設定數字來修改此預設數字。
while
在此命令中,將在目標欄位中提供要執行的 JavaScript 表示式。如果表示式返回真值,則命令塊執行到 end 命令。再次,控制跳轉回 while 命令以重複相同的模式(每次檢查 JavaScript 表示式是否產生真值或假值)。while 命令應以 end 命令結束。
forEach
此命令用於迴圈遍歷集合並引用集合中的各個專案。在目標欄位中,需要提及指向要迭代的陣列的變數名。在值欄位中,迭代器變數名。
示例 1
讓我們以以下頁面為例,我們將使用條件分支控制流命令檢查頂部出現的文字 - 歡迎,登入。
以下是需要遵循的步驟:
步驟 1 - 單擊安裝後在瀏覽器上可見的 Selenium IDE 擴充套件。
步驟 2 - Selenium IDE 應該啟動,同時應該顯示歡迎訊息以及工具的版本。在下圖中,安裝的版本為 3.17.2。
此外,它還提供了選擇我們希望使用該工具執行的操作的選項,例如在新的專案中記錄新的測試、開啟現有的專案、建立新的專案和關閉 Selenium IDE。
此外,還提供了一個帶有文字 - Selenium IDE 專案頁面的連結,單擊該連結將帶我們到 Selenium 整合開發環境文件頁面。
https://selenium.programming.tw/selenium-ide/.
步驟 3 - 單擊建立新專案連結,然後在請為您的新專案提供一個名稱下輸入專案名稱,例如 Test12。最後,我們將單擊確定按鈕。
步驟 4 - 我們現在將在 Selenium IDE 中準備好工作區。
步驟 5 - 在命令欄位中輸入 open,在目標欄位中輸入 selenium,以啟動應用程式。
步驟 6 - 在命令欄位中輸入 store text,在目標欄位中輸入 xpath=//*[@id="signInForm"]/h1,在值欄位中輸入 val。請注意,xpath=//*[@id="signInForm"]/h1 是文字的定位器值,val 是我們將用於儲存文字的變數。
步驟 7 - 在命令欄位中輸入 if,在目標欄位中輸入 ${val}==="Welcome, Login In"。
步驟 8 - 在命令欄位中輸入 echo,在目標欄位中輸入 Correct Verification。
步驟 9 - 在命令欄位中輸入 else if,在目標欄位中輸入 ${val}==="Welcome, Register"。
步驟 10 - 在命令欄位中輸入 echo,在目標欄位中輸入 InCorrect Verification。
步驟 11 - 在命令欄位中輸入 else。
步驟 12 - 在命令欄位中輸入 echo,在目標欄位中輸入 InValid Test。
步驟 13 - 在命令欄位中輸入 end。
步驟 14 - 在命令欄位中輸入 close 以關閉瀏覽器視窗。
步驟 15 − 點選頂部的“執行所有測試”,並等待測試執行完成。在我們的示例中,我們將看到“執行:1”、“失敗:0”,以及一個綠色條表示測試成功執行且沒有任何失敗。此外,成功完成的訊息也會出現在日誌下方。
在上面的示例中,我們驗證了文字 - 歡迎,登入,並在控制檯中列印了訊息 - 正確驗證。此外,我們在頂部看到一個綠色勾號,表示測試透過。
示例 2
讓我們來看一個使用迴圈控制流命令(稱為 while)的示例。
以下是需要遵循的步驟:
步驟 1 − 按照示例 1 中提到的步驟 1 到 4 操作。
步驟 2 − 在“命令”欄位中輸入 execute script,在“目標”欄位中輸入 return 1,在“值”欄位中輸入 val。
步驟 3 − 在“命令”欄位中輸入 while,在“目標”欄位中輸入 ${val} < 3。
步驟 4 − 在“命令”欄位中輸入 echo,在“目標”欄位中輸入 ${val}。
步驟 5 − 在“命令”欄位中輸入 execute script,在“目標”欄位中輸入 return ${val} + 1,在“值”欄位中輸入 val。
步驟 6 − 在“命令”欄位中輸入 end。
步驟 7 − 點選頂部的“執行所有測試”,並等待測試執行完成。在我們的示例中,我們將看到“執行:1”、“失敗:0”,以及一個綠色條表示測試成功執行且沒有任何失敗。此外,成功完成的訊息也會出現在日誌下方。
結論
本教程全面介紹了 Selenium IDE 中的控制流。我們從描述 JavaScript 表示式、條件分支的基本控制流命令、迴圈的基本控制流命令開始,並提供了示例來演示如何使用這些命令以及 Selenium。
這使您掌握了 Selenium IDE 中控制流的深入知識。明智的做法是不斷練習所學內容,並探索與 Selenium 相關的其他內容,以加深您的理解並拓展您的視野。
