標籤:
Selenium開發Java WebDriver測試程式
一、安裝Selenium外掛程式
在FireFox瀏覽器中,選擇 菜單--開發人員--擷取更多工具,搜尋Selenium即可,安裝完成後,在瀏覽器中出現表徵圖表示安裝成功。
二、使用SeleniumIDE錄製並匯出指令碼
1、錄製指令碼
點擊所示按鈕啟動SeleniumIDE,點擊所示的紅色按鈕啟動錄製指令碼
在FireFox中輸入網址,在這裡輸入 www.ncfxy.com,輸入正確的使用者名稱和密碼,點擊登入,在郵箱的位置上右鍵點擊選擇assertText(需要安裝FirePath,方法同安裝SeleniumIDE)(實驗要求)。
在此,完成指令碼的錄製。
可以選擇,執行速度的快慢,執行測試案例
執行的結果:
2、匯出指令碼
在SeleniumIDE中選擇,檔案--Export test suite ---Java/Junit4/webdriver匯出指令碼。
三、編寫WebDriver程式,測試csv資料
在Eclipse中建立項目...
項目中需要引進相應的Selenium jar包 和webdriver的驅動。
代碼如下:
package test;import static org.junit.Assert.assertEquals;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.Arrays;import java.util.Collection;import java.util.concurrent.TimeUnit;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;import org.junit.runners.Parameterized.Parameters;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.firefox.FirefoxDriver;@RunWith(Parameterized.class)public class test { private String name; private String email; private WebDriver driver; private String baseUrl; public test(String name,String email){ this.name = name; this.email = email; } @Before public void setUp() throws Exception { driver = new FirefoxDriver(); baseUrl = "http://www.ncfxy.com/"; driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get(baseUrl); } @Parameters public static Collection<Object[]> getData() throws IOException{ File inFile = new File("C://Users/1dell/Desktop/info.csv"); Object[][] obj = new Object[109][]; String in =""; try { @SuppressWarnings("resource") BufferedReader reader = new BufferedReader(new FileReader(inFile)); int i = 0; while((in = reader.readLine())!=null){ obj[i] = new Object[]{in.split(",")[0], in.split(",")[1]}; i++; } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } return Arrays.asList(obj); } @After public void tearDown() throws Exception { driver.close(); } @Test public void test() { WebElement element = driver.findElement(By.id("name")); element.sendKeys(this.name); WebElement element1 = driver.findElement(By.id("pwd")); element1.sendKeys(this.name.substring(4)); WebElement element3 = driver.findElement(By.id("submit")); element3.click(); assertEquals(this.email, driver.findElement(By.xpath(".//*[@id=‘table-main‘]/tr[1]/td[2]")).getText()); }}
部分測試結果如下:
ps:測試結果爆慢,不知道什麼原因。
軟體測試(五)