1.實作第一個自動化測試入門案例:
package autoTestE;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class FirstAutoTest {
public static void main(String[] args){
//1.系統屬性設定驅動程式可執行檔案路徑
System.setProperty("webdriver.chrome.driver","F://chromedriver.exe");
//2.執行個體化谷歌浏覽器, 我們可以使用這個對象(或稱為驅動程式)來執行浏覽器上的各種操作
WebDriver driver = new ChromeDriver();
//3.導航到指定頁面,get方法用于導航到指定URL
driver.get("https://www.baidu.com");
//獲得頁面标題
if(driver.getTitle().equals("百度一下,你就知道"))
System.out.println("Yes!");
else
System.out.println("No!");
//4.關閉浏覽器視窗; quit方法關閉的是所有浏覽器視窗,并且完全關閉WebDriver會話,這樣可以避免記憶體洩漏
//driver.close();
driver.quit();
}
}
2.在JUnit4中運作WebDriver測試
package autoTestE;
import org.junit.*;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class FirstJUnit {
//首先聲明一些變量
private WebDriver driver;
private String baseUrl;
private String pageTitle;
private String exceptedTitle;
@Before
public void Setup(){
System.setProperty("webdriver.chrome.driver","f://chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "https://www.baidu.com";
pageTitle = "";
exceptedTitle = "百度一下,你就知道";
}
@Test
public void testPageTitle(){
driver.get(baseUrl);
pageTitle = driver.getTitle();
if(pageTitle.equals(exceptedTitle))
System.out.println("Expected!");
else
System.out.println("Unexpected!");
}
@After
public void tearDown(){
driver.quit();
}
}
将此代碼與前一代碼相比,可以看出兩者相似。差別有:
(1)類開頭的私有變量聲明,并且将相同的代碼分為了多個部分;
(2)添加了注解;
@Test 被當做測試方法運作;
@Before 在指定的每種測試方法之前運作;用于讀取或配置設定資料,初始化或如果多個測試需要先建立相似的對象才能執行;
@After 在執行每種測試方法之後執行;通常會指定與環境清理相關的指令,例如,關閉打開的資源/資料庫連接配接/釋放記憶體等;
(3)這三個注解下的方法都是公開的,傳回類型是void。在junit.framework.Testcase類下,有setUp()和tearDown()方法,覆寫這些方法就可以,分别用于初始化和清除。JUnit首先調用setUp()方法,然後調用test方法,最後調用tearDown()方法。
各自努力,不問歸期