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();
}
}
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP