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

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1817 | 回復: 0
打印 上一主題 下一主題

Selenium 介紹及使用 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-20 09:48 |只看該作者 |倒序瀏覽

1.介紹

Part1:簡介

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

Part2:版本介紹

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

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

2.安裝

       step0:前提,機器上有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、測試文本輸入框

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

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
、調用 selenium.open 方法,瀏覽器會打開相應的頁面
2
、使用 type 方法來給輸入框輸入文字
3
、等待頁面載入
4
、看看新的頁面標題是不是我們想要的。

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']"));

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

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

java 代碼

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

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

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

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

java 代碼

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

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

在測試的時候,有的人會顯示許多alert 來查看運行時的數(shù)據(jù),那么我們可以用下面的方式來關閉那些 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 等等。
還有就是一定要學習 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

您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP