1. 程式人生 > >selenium入門教程

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:  
http://www.yiibai.com/selenium/selenium_webdriver.html

該款工具可以以錄製的形式儲存一個測試的詳細情況,包括點選事件,輸入項,點選超連結,登入等等,並且儲存以.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();  
	}
}