亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: Selenium 介紹及使用 [打印本頁]

作者: sunday_jia    時間: 2011-12-20 09:48
標(biāo)題: Selenium 介紹及使用

1.介紹

Part1:簡介

Selenium是一套完整的Web應(yīng)用程序測試系統(tǒng),它包含了測試的錄制(Selenium IDE)、編寫及運行(Selenium Remote Control)和測試的并行處理(Selenium Grid)。Selenium的核心Selenium Core基于JsUnit,完全由JavaScript編寫,因此可運行于任何支持JavaScript的瀏覽器上

Part2:版本介紹

1)、SeleniumIDE:一個Firefox的附加組件,結(jié)合Firefox可以實現(xiàn)錄制測試腳本,并在瀏覽器中模擬用戶真實操作進(jìn)行回放。而且可以生成一些簡單的基于Selenium Remote Control模式的簡單代碼。

2)、Selenium Core:整個測試機(jī)制的核心部分,即有assertion(斷言)機(jī)制的test suite runner。它由一些純js代碼組成,可以運行在windows/linux的不同browser
Selenium Remote Control
:一個代理與控制端,可代替Selenium core/ Selenium IDEclient(相當(dāng)于通過編程來實現(xiàn)一切),是支持多語言的。

2.安裝

       step0:前提,機(jī)器上有JDK1.5,eclipse,最好有能跑起來的web工程;   

       step1:下載地址http://seleniumhq.org/download/ 頁面中 Selenuium Client Driversjava版本的client 以及Selenium Server

       step2:啟動 Seleniumserver java -jar selenium-server.jar

3.測試

       step1:在eclipse中新建一個java web工程,加入junit   selenium server jar包;

       step2:新建java文件代碼如下:

 

package cn.edie;

import org.openqa.selenium.server.SeleniumServer;
import com.thoughtworks.selenium.DefaultSelenium;
import junit.framework.TestCase;
public class Selenium extends TestCase{
 private DefaultSelenium selenium;
 private SeleniumServer server;
    public void setUp() throws Exception {
        String url = "http://www.google.com";
        selenium = (DefaultSelenium) new DefaultSelenium("localhost", 4444,"*iexplore", url); //4444 is default server port

   selenium.start(); 
   server = new SeleniumServer();
    }
    protected void tearDown() throws Exception {
        selenium.stop();
        server.stop(); 
    }
  
    public void testGoogle() throws Throwable {
        selenium.open("http://www.google.com/webhp?hl=en");
        assertEquals("Google", selenium.getTitle());
        selenium.type("q", "2012");
        assertEquals("2012", selenium.getValue("q"));
        selenium.click("btnG");
        selenium.waitForPageToLoad("5000");
        assertEquals("2012 - Google Search", selenium.getTitle());
    }
   
}

 

step3: 在文件上點右鍵 run as->junit test 運行彈出瀏覽器窗口,自動測試。


4.用法:

網(wǎng)上找到的用法。其他介紹:http://liujianguangaaa.blog.163.com/blog/static/3689529420103982551410/

1、測試文本輸入框

假設(shè)頁面上有一個文本輸入框,我們要測試的內(nèi)容是 在其中輸入一些內(nèi)容,然后點擊一個按鈕,看看頁面的是否跳轉(zhuǎn)
到需要的頁面。

public void test1() { 
           
    selenium.open("http://xxx.xxx.xxx/yyy"); 
           
    selenium.type("xpath=//input[@name='userID']", "test-user"); 
    selenium.click("xpath=//input[@type='button']"); 
    selenium.waitForPageToLoad("2000"); 
    assertEquals(selenium.getTitle(), "Welcome"); 
}

上面的代碼是這個意思:
1
、調(diào)用 selenium.open 方法,瀏覽器會打開相應(yīng)的頁面
2
、使用 type 方法來給輸入框輸入文字
3
、等待頁面載入
4
、看看新的頁面標(biāo)題是不是我們想要的。

2、測試下拉框

java 代碼

public void test1() { 
               
    selenium.open("http://xxx.xxx.xxx/yyy"); 
               
    selenium.select("xpath=//SELECT[@name='SBBUSYO']", "index=1"); 
    selenium.click("xpath=//input[@type='button']"); 
    selenium.waitForPageToLoad("2000"); 
    assertEquals(selenium.getTitle(), "Welcome"); 
}

 

可以看到,我們可以使用 select 方法來確定選擇下拉框中的哪個選項。
select
方法還有很多用法,具體去看看文檔吧。

3、測試check box

java 代碼

public void test1() { 
                   
    selenium.open("http://xxx.xxx.xxx/yyy"); 
                   
    selenium.check("xpath=//input[@name='MEICK_000']"); 
    selenium.click("xpath=//input[@type='button']"); 
    selenium.waitForPageToLoad("2000"); 
    assertEquals(selenium.getTitle(), "Welcome"); 
}

我們可以使用 check 方法來確定選擇哪個radio button

4、得到文本框里的文字

java 代碼

assertEquals(selenium.getValue("xpath=//input[@name='WNO']"), "1");

      

getValue 方法就是得到文本框里的數(shù)值,可不是 getText 方法,用錯了可就郁悶了。

5、判斷頁面是否存在一個元素

java 代碼

assertTrue(selenium.isElementPresent("xpath=//input[@name='MEICK_000']"));

一般這個是用來測試當(dāng)刪除一些數(shù)據(jù)后,頁面上有些東西就不會顯示的情況。

6、判斷下拉框里選擇了哪個選項

java 代碼

assertEquals(selenium.getSelectedIndex("xpath=//SELECT[@name='HATIMING']"),"1");

這個可以用來判斷下拉框顯示的選項是否是期望的選項。

7、如果有 alert 彈出對話框怎么辦?

這個問題弄了挺長時間,可以這樣來關(guān)閉彈出的對跨框:

java 代碼

if(selenium.isAlertPresent()) { 
   selenium.getAlert(); 
}

其實當(dāng)調(diào)用 selenium.getAlert() 時,就會關(guān)閉 alert 彈出的對話框。
也可以使用 System.out.println(selenium.getAlert()) 來查看對跨框顯示的信息。

在測試的時候,有的人會顯示許多alert 來查看運行時的數(shù)據(jù),那么我們可以用下面的方式來關(guān)閉那些 alert:

java 代碼

while(selenium.isAlertPresent()) {   
   selenium.getAlert(); 
}

8、如何測試一些錯誤消息的顯示?

java 代碼

assertTrue(selenium.getBodyText().indexOf("錯誤消息")>=0);

切記: getBodyText 返回的時瀏覽器頁面上的文字,不回包含html 代碼的,如果要顯示html 代碼,用下面這個:

java 代碼

System.out.println(selenium.getHtmlSource());

      

以上就是最常用的幾個方法了,例如 click, type, getValue 等等。
還有就是一定要學(xué)習(xí) xpath, 其實xpath 也可以有與、或、非的操作:

java 代碼

selenium.check("xpath=//input[(@name='KNYKBN')and(@value='Y')]");

 

 

1DefaultSelenium方法

http://release.seleniumhq.org/selenium-remote-control/0.9.0/doc/java/com/thoughtworks/selenium/DefaultSelenium.html

2XPath教程 http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html






歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2