天天看點

第一個自動化測試案例 java+selenium

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()方法。

各自努力,不問歸期

繼續閱讀