Selenium 參考資料
工具特色
- 開發(fā)人員,測試人員均可使用的一款測試工具
- 支持IE、FireFox等瀏覽器;測試環(huán)境可以和程序代碼一同部署于應用服務器下,也可單獨搭建。
- 用于測試驅(qū)動開發(fā)TDD、Smoke Test、Regression、Acceptance testing等
- 免費、腳本簡單(HTML files)、不需要額外的環(huán)境
從Selenium IDE 開始
安裝
- 安裝Firefox
- 下載Selenium插件:http://selenium-ide.openqa.org/
- 將插件拷貝至Firefox/extensions目錄下(通常為C:\Program Files\Mozilla Firefox\extensions\)
- 重啟Firefox,會執(zhí)行自動安裝。
- 在“Tools”下能夠看到“Selenium IDE”插件安裝完畢。
錄制
錄制好的腳本
Selenium html腳本,又稱為Selenese,結(jié)構(gòu)清晰簡單:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Becky02</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">Test02</td></tr>
</thead><tbody>
<tr>
<td>open</td>
<td>http://www.google.com/</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>q</td>
<td>ddddddd</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>btnG</td>
<td></td>
</tr>
<tr>
<td>assertText</td>
<td>sd</td>
<td>Web</td>
</tr>
</tbody></table>
</body>
</html>
是一個HTML Table:
Becky02
Test02 |
open |
http://www.google.com/ |
|
type |
q |
ddddddd |
clickAndWait |
btnG |
|
assertText |
sd |
Web |
HTML Table 由三列構(gòu)成:
First Column: Selenium command,命令或斷言。
Second Column: Target of command,命令或斷言的目標(target)。這里可以用多種受支持的組件定位符中的一種來指定目標。通常使用的是組件的 ID 或名稱,但 XPath 和 DOM 定位符也是受支持的;
Third Column: Optional parameter,用于為命令或斷言指定參數(shù)的值。例如,當使用 type 命令時,這一列可能就是一個文本域所期望的值。
在selenium core的發(fā)布包里,也有此reference,下文中即將提到。
對于自動化測試來說,任何錄制/回放工具得到的腳本,都是要進行修改的,這樣能夠增加腳本的健壯性。將腳本存為html文件。最終的腳本也要至少回放一遍通過才能算完成,在Selenium IDE中,點播放按鈕觀看放映。
Selenium Core使工作更有條理
下載安裝
Selenium Core位于:
http://selenium-core.openqa.org/
它是一個zip包,需要應用服務器的支持,此處對于應用服務器的部署等省略,將zip包放入待測試的Web程序下,啟動應用服務器,打開URL:http://localhost:8080/selenium/ ,進入 “Selenium TestSuite”。TestSuite用于將具有類似功能的一些測試用例編成一組,以便它們按順序運行。TestSuite和Test Cases一樣,都是用簡單的 HTML 表編寫的。Selenium 執(zhí)行的缺省TestSuite的名稱是 TestSuite.html,位于tests文件夾下。
<body onload="filterTestsForBrowser()">
<table id="suiteTable" cellpadding="1"
cellspacing="1"
border="1"
class="selenium">
<tbody>
<tr><td><b>Test Suite</b></td></tr>
<tr unless="browserVersion.isSafari" ><td><a href="./events/TestMouseEvents.html">TestMouseEvents</a></td></tr>
<tr><td><a href="./TestBrowserVersion.html">TestBrowserVersion</a></td></tr>
<tr><td><a href="./TestJavaScriptAttributes.html">TestJavaScriptAttributes</a></td></tr>
<tr unless="browserVersion.isKonqueror || browserVersion.isSafari"><td><a href="./events/TestKeyEvents.html">
TestKeyEvents</a></td></tr>
<tr unless="browserVersion.isKonqueror || browserVersion.isSafari"><td><a href="./TestVisibility.html">TestVisibility</a></td></tr>
<tr><td><a href="./TestFramesOpen.html">TestFramesOpen</a></td></tr>
<tr><td><a href="./TestFramesNested.html">TestFramesNested</a></td></tr>
<!--更多省略,請自行閱讀文檔-->
以上是一個官方版TestSuite的摘錄,參照例子,組織自己的Test Cases,寫成TestSuite,放入tests文件夾,便可在瀏覽器中執(zhí)行(適用于各種瀏覽器),例如:http://localhost:8080/selenium/core/TestRunner.html?test=../tests/myTestSuite.html
值得注意的是:Selenium Core的tests里包含了很多Selenium Command的例子,值得好好研習。
Selenium Core的不足之處
-
它需要和應用同時部署于應用服務器之下,在有些項目中并不方便操作。
-
它不能將任何測試結(jié)果寫到磁盤上(因為它是用javascript寫的,它不允許向磁盤寫數(shù)據(jù)),當然你可以將測試結(jié)果發(fā)送到另外一臺服務器保存,這就是下文即將介紹的Selenium Core HTA 和 Selenium RC。
Selenium Core HTA
Core HTA 也在Selenium發(fā)布包內(nèi),僅適用于IE瀏覽器,不需要遠程安裝,也不需要Java支持。在命令行里執(zhí)行命令即可:
C:\selenium\core>TestRunner.hta "test=..%2Ftests%2FTestSuite.html&auto=true&close=true&resultsUrl=results.html&save=true"
根據(jù)實際情況修改幾個參數(shù),便可執(zhí)行自己的TestSuite了。
Selenium RC
下次再寫。
posted on 2008-03-03 15:21
Becky 閱讀(6234)
評論(24) 編輯 收藏 所屬分類:
測試