selenium入門教程
在瀏覽器中測試selenium,目前只能在火狐瀏覽器上和谷歌上安裝相關外掛,首次接觸以來,自己用的是在火狐瀏覽器上學習的,以下是個人學習的一些心得。
selenium是一款優秀的軟體測試工具,安裝比較簡單,在火狐瀏覽器上,在瀏覽器的附加元件的外掛欄搜尋selenium即可新增到瀏覽器上。
上面截圖我已經是安裝好了的,圖示是倒數第二個圖示。具體的該外掛的使用介紹,在這裡就不多講解,關於selenium的好的學習資料:
官方User Guide: http://seleniumhq.org/docs/
官方API: http://selenium.googlecode.com/git/docs/api/java/index.html
中文API: http://download.csdn.net/detail/testingba/3811354
蟲師部落格: http://www.cnblogs.com/fnng/category/349036.html
github: https://github.com/SeleniumHQ/selenium/
selenium github docs: http://seleniumhq.github.io/selenium/docs/api/py/
乙醇的各種語言的selenium https://github.com/easonhan007/webdriver_guide/blob/master/README.md
易百的webdriver:
該款工具可以以錄製的形式儲存一個測試的詳細情況,包括點選事件,輸入項,點選超連結,登入等等,並且儲存以.side格式檔案。在軟體測試迴歸流程中,執行對應的檔案,即可把整個測試的流程步驟一一復現,好處還有好多,不一一祥述。
對於一般的軟體測試人員,從建立project,新建測試用例,selenium常用的命令瞭解,以及元素定位選取,css定位,以及xPath等,儲存執行即可。
以下是一個簡單的例子:對於target,測試人員可以直接點選,selenium會自動記錄。
而對於專業測試人員,還必須學習手工建立測試用例,特別是強大的WebDriver。
接下來講解下WebDriver.
你需要將WebDriver的JAR包加入到你專案中CLASSPATH中。你可以Download它通過http://code.google.com/p/selenium/downloads/list。如果是maven工程,引入相關依賴即可。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.25.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>2.25.0</version>
</dependency>
新建測試類TestSelenium.java
WebDriver driver = new FirefoxDriver()這種無參構造前提條件是firefox瀏覽器安裝在預設的位置,對於windows平臺,指C:\Program Files\Mozilla Firefox\firefox.exe
,也可以設定環境變數指定其他位置。
System.setProperty(“webdriver.firefox.bin”,“the location of firefox”);
開啟一個頁面,可以呼叫driver的get方法,也可以呼叫如下方法。
driver.get(“http://www.baidu.com”);
或者
driver.navigate.to(“http://www.baidu.com”);
具體使用方法只需要new FirefoxDriver(),實現了WebDriver介面,可以方便獲取元素,如By name或者By id,By className等,還支援複雜的下拉框的選取及拖放元素及訊息處理alert,及滾動網頁。
示例程式碼:
package com.hbk;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class TestSelenium {
@Test
public void test() throws Exception {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com");
driver.manage().window().maximize();
driver.findElement(By.id("kw")).sendKeys("Selenium");
driver.findElement(By.id("su")).click();
Thread.sleep(1000);
System.out.println(driver.getTitle().contains("Selenium"));
driver.quit();
}
}