日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自动化测试工具selenium使用介绍

發布時間:2024/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自动化测试工具selenium使用介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?最近公司Test部門開了個講座介紹如何做好WEB自動化測試,由于我是做開發的,但對測試人員如何工作不是很了解,就去聽了下。講座中一個測試工具還不錯,于是就深入自學了下,內容如下

?

一、Selenium 的版本

Selenium 現在存在2個版本,一個叫 selenium-core, 一個叫selenium-rc 。

selenium-core 是使用HTML的方式來編寫測試腳本,你也可以使用 Selenium-IDE來錄制腳本,但是目前Selenium-IDE
只有 FireFox 版本。

Selenium-RC 是 selenium-remote control 縮寫,是使用具體的語言來編寫測試類。

selenium-rc 支持的語言非常多,這里我們著重關注java的方式。這里講的也主要是 selenium-rc,因為個人還是喜歡這種
方式 :-)

?二、一些準備工作

1、當然是下載 selenium 了,到 http://www.openqa.org/selenium/ 下載就可以了,記得選擇selenium-rc 的版本。

2、學習一下 xpath 的知識。貼給大家個教程http://blog.csdn.net/terryzero/archive/2009/09/06/4523834.aspx
???? 一定要學習這個,不然你根本看不懂下面的內容!

3、安裝 jdk1.5

?三、selenium-rc 一些使用方法

在 selenium-remote-control-0.9.0/server 目錄里,我們運行 java -jar selenium-server.jar
之后你就會看到一些啟動信息。要使用 selenium-rc ,啟動這個server 是必須的。

當然,啟動的時候有許多參數,這些用法可以在網站里看看教程,不過不加參數也已經足夠了。

selenium server 啟動完畢了,那么我們就可以開始編寫測試類了!

我們先有個概念,selenium 是模仿瀏覽器的行為的,當你運行測試類的時候,你就會發現selenium 會打開一個

瀏覽器,然后瀏覽器執行你的操作。

?好吧,首先生成我們的測試類:

public class TestPage2 extends TestCase { private Selenium selenium; protected void setUp() throws Exception { String url = “http://xxx.xxx.xxx.xxx/yyy”; selenium = new DefaultSelenium("localhost", SeleniumServer.getDefaultPort (), "*iexplore", url); selenium.start(); super.setUp(); } protected void tearDown() throws Exception { selenium.stop(); super.tearDown(); } }

代碼十分簡單,作用就是初始化一個 Selenium 對象。其中:
url : 就是你要測試的網站
localhost:? 可以不是localhost,但是必須是 selenium server 啟動的地址
*iexplore :? 可以是其它瀏覽器類型,可以在網站上看都支持哪些。

下面我就要講講怎么使用selenium 這個對象來進行測試。

?

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、看看新的頁面標題是不是我們想要的。

?

其中的selenium 腳本 firefox插件selenium IDE 來錄制生成。如果你測試IE也可以先用firefox錄制然后經過略微更改便能使用。

?

2、測試下拉框

?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

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、得到文本框里的文字

assertEquals(selenium.getValue("xpath=//input[@name='WNO']"), "1");??
getValue 方法就是得到文本框里的數值,可不是 getText 方法,用錯了可就郁悶了。

?

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

assertTrue(selenium.isElementPresent("xpath=//input[@name='MEICK_000']"));??
一般這個是用來測試當刪除一些數據后,頁面上有些東西就不會顯示的情況。

?

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

assertEquals(selenium.getSelectedIndex("xpath=//SELECT[@name='HATIMING']"), "1");??
這個可以用來判斷下拉框顯示的選項是否是期望的選項。

?

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

這個問題弄了挺長時間,可以這樣來關閉彈出的對跨框:
if(selenium.isAlertPresent()) {???
??
?? selenium.getAlert();???
??
}??
其實當調用 selenium.getAlert() 時,就會關閉 alert 彈出的對話框。
也可以使用 System.out.println(selenium.getAlert()) 來查看對跨框顯示的信息。

在測試的時候,有的人會顯示許多alert 來查看運行時的數據,那么我們可以用下面的方式來關閉那些 alert:
while(selenium.isAlertPresent()) {???????
??????
?? selenium.getAlert();???????
??????
}???


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

assertTrue(selenium.getBodyText().indexOf("錯誤消息")>=0);??
切記: getBodyText 返回的時瀏覽器頁面上的文字,不回包含html 代碼的,如果要顯示html 代碼,用下面這個:

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

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

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

?

?以上內容有部分轉載與javaeye

轉載于:https://www.cnblogs.com/hainange/archive/2009/09/05/6153081.html

總結

以上是生活随笔為你收集整理的自动化测试工具selenium使用介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。