讓Java/Selenium自動化測試程式變得更簡潔易讀
不好的程式寫法通常沒有文件或是註解,好的程式甚至不需要額外文件就可以理解!
基於這個設計理念下,”Selenide”就誕生。
我們會舉一個簡單的範例說明為什麼Selenide這個框架讓自動化測試程式變得簡潔也更容易了解。
自動化測試設計理念
主要的設計理念在於將自動化測試程式簡化為三步驟。
- 1. 瀏覽網頁
- 2. 找到網頁元件
- 3. 驗證
其他的宣告、呼叫、邏輯等Selenide會處理。是不是很方便呢?
|
驗證元件是否存在?
如果用 Selenium 檢查元件是否存在我們可能用會下列方式
assertEquals(2, getElements(By.className("item")).size()); |
但是如果採用 Selenide 程式就會變成比較簡潔而且可讀。
$$(".item").shouldHave(size(2)); |
Find Element by ID
Selenium的寫傳統寫法
WebElement customer = driver.findElement(By.id("customerContainer"));
|
Selenide的寫法
是不是簡潔許多呢?
WebElement customer = $("#customerContainer"); |
Selenide 如何安裝
1. 下載 Selenide Jar http://search.maven.org/remotecontent?filepath=com/codeborne/selenide/2.16/selenide-2.16.jar
2. 於 Java 程式中 import
import static com.codeborne.selenide.Selenide.*; import static com.codeborne.selenide.Condition.*; |
簡潔程式碼範例
下列程式會啟動 FireFox 瀏覽 Google,並且搜尋關鍵字 “Selenide Google Search”
[pastacode lang=”java” message=”” highlight=”” provider=”manual”]
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.firefox.FirefoxDriver;
import static com.codeborne.selenide.CollectionCondition.size;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.*;
import static com.codeborne.selenide.Condition.*;
public class selenide_test {
@Test
public void search_selenide_in_google() {
open("http://google.com/");
$(By.name("q")).setValue("Selenide Google Search");
}
}
[/pastacode]
參考資料
http://selenide.org/documentation.html
https://github.com/codeborne/selenide/wiki/Snippets
https://github.com/selenide-examples
https://github.com/codeborne/selenide/wiki/Selenide-vs-Selenium