Selenium和Cucumber的區別
Selenium和Cucumber之間的區別如下:
序號 | Selenium | Cucumber |
---|---|---|
1 | 它是一個測試自動化框架。 | 它不是一個測試自動化框架。 |
2 | 主要用於前端應用程式的自動化測試。 | 主要用作行為驅動開發的工具。 |
3 | 可以使用任何程式語言,例如Java、Python、Ruby、C#等。 | 可以使用Gherkin語言編寫。 |
4 | 使用Java開發。 | 使用Ruby開發。 |
5 | 只能由具有技術知識的使用者使用。 | 可以使使用者無需任何技術知識。 |
6 | 與Cucumber相比,可讀性較差。 | 易於閱讀。 |
7 | 與Cucumber相比,安裝過程冗長而複雜。 | 安裝簡便。 |
8 | 可以加入條件語句。 | 不能加入條件語句。 |
9 | 可以輕鬆確定語法錯誤。 | 語法錯誤往往會被忽略。 |
10 | 所有專案利益相關者(開發人員、測試人員、產品負責人、業務分析師、客戶等)都可以參與。 | 團隊成員——開發人員和測試人員——只能參與。 |
11 | 使我們能夠自動化在瀏覽器上手動執行的步驟。 | 能夠在步驟中使用“Given”、“Then”、“When”等關鍵字,用簡單的英語建立場景。 |
12 | 僅包含指令碼實現的一個檔案。 | 包含三個檔案——功能檔案、步驟定義檔案(功能檔案中步驟的實現)和測試執行器檔案。 |
使用Cucumber的實現:
功能檔案
Feature: Login Module Scenario: User login Given: Visit URL "https://tutorialspoint.tw"
相應的步驟定義檔案
@Given ("^Visit URL \"([^\"]*)\"$") public void visit_url(String u){ System.out.println("URL is : " + u); }
示例
使用Selenium的實現:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class BrwserLaunch{ public static void main(String[] args) { //configure path of IEDriverServer.exe path System.setProperty("webdriver.ie.driver", "C:\Users\ghs6kor\Desktop\Java\IEDriverServer.exe"); //object of InternetExplorerDriver WebDriver driver = new InternetExplorerDriver(); //URL launch driver.get("https://tutorialspoint.tw/index.htm"); driver.quit(); } }
廣告