亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
用 Selenium 自動化驗收測試
作者:網絡轉載 發布時間:[ 2012/11/29 14:21:38 ] 推薦標簽:

test runner 腳本使用與 xUnit 框架相同的測試套件(test suite)和測試用例概念。測試用例和命令按照它們在測試套件和測試用例中出現的順序依次執行。在 清單 1 中:
* 第一列包含命令 或斷言。
* 第二列包含命令或斷言的目標(target)。這里可以用多種受支持的組件定位符中的一種來指定目標。通常使用的是組件的 ID 或名稱,但 XPath 和 DOM 定位符也是受支持的。
* 第三列包含用于為命令或斷言指定參數的值。例如,當使用 type 命令時,這一列可能是一個文本域所期望的值。

即使對于非技術人員來說,test runner 腳本也易于閱讀和編寫。當在一個瀏覽器中打開 清單 1 中的例子時,將得到類似這樣的一個表:
First command  Target  Value
Second command  Target  Value

接下來,我將描述如何使用命令和斷言編寫一個簡單但是完整的測試用例。

測試用例實例

執行 清單 2 中的測試腳本時,它將執行以下操作:
1. 通過進入 /change_address_form.html 打開變更地址頁面。
2. 在 ID 為 address_field 的文本框中輸入 Betelgeuse state prison。
3. 單擊名為 Submit 的輸入區。注意,這里使用 XPath 找到 Submit 按鈕,這導致表單數據被發送到服務器。
4. 驗證頁面是否包含文本 Address change successful。

清單 2. 在測試用例中使用命令和斷言的例子

<table>
<tr>
<td>open</td>
<td>/change_address_form.html</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>address_field</td>
<td>Betelgeuse state prison</td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//input[@name='Submit']</td>
<td></td>
</tr>
<tr>
<td>verifyTextPresent</td>
<td>Address change successful</td>
<td></td>
</tr>
</table>

測試套件

要達到對應用程序的完全測試覆蓋,通常需要不止一個測試用例。這是 Selenium 使用測試套件的原因。測試套件用于將具有類似功能的一些測試用例編成一組,以便讓它們按順序運行。

測試套件和測試用例一樣,都是用簡單的 HTML 表編寫的。Selenium 執行的缺省測試套件的名稱是 TestSuite.html。清單 3 展示了一個測試套件,該套件像通常的用戶一樣測試應用程序。注意,測試套件使用一個只包含一列的表,表中的每一行指向一個包含某個測試用例的文件。

清單 3. 測試套件示例
<table>
<tr>
<td>Test suite for the whole application</td>
</tr>
<tr>
<td><a href="test_main_page.html">Access main page</a></td>
</tr>
<tr>
<td><a href="test_login.html">Login to application</a></td>
</tr>
<tr>
<td><a href="test_address_change.html">Change address</a></td>
</tr>
<tr>
<td><a href="test_logout.html">Logout from application</a></td>
</tr>
</table>

接下來我將把目光轉移到 driven 測試腳本。

driven 模式

driven Selenium 腳本是用多種受支持的編程語言中的一種編寫的 —— 目前可用的有 Java、Ruby 和 Python 驅動程序。這些腳本在瀏覽器之外的一個單獨的進程中運行。驅動程序的任務是執行測試腳本,并通過與運行在瀏覽器中的 browser bot 進行通信來驅動瀏覽器。驅動程序與 browser bot 之間的通信使用一種簡單的特定于 Selenium 的連接語言 Selenese。

driven 腳本比 test runner 腳本更強大、更靈活,可以將它們與 xUnit 框架集成。driven 腳本的缺點(與 test runner 腳本相比)是,這種腳本編寫和部署起來更復雜。這是因為驅動程序必須執行以下任務:
* 啟動服務器。
* 部署所測試的應用程序(AUT)。
* 部署測試腳本。
* 啟動瀏覽器。
* 發送命令到 browser bot。
* 驗證 browser bot 執行的命令的結果。

driven 腳本更依賴于應用程序運行時環境。例如,Java 驅動程序使用一個嵌入式 Jetty 或 Tomcat 實例來部署所測試的應用程序。目前,已經有人在致力于將 Selenium 集成到 Ruby on Rails 中,但是在我撰寫本文之際,這個集成版本還沒有被發布。

清單 4 摘自一個使用 Ruby 驅動程序的 driven 測試腳本。注意,我省略了用于啟動服務器和瀏覽器的步驟,這個測試腳本代碼幾乎和 test runner 腳本一樣簡單。

清單 4. 使用 Ruby 驅動程序的例子
puts selenium.open('/logout.html')
puts selenium.verify_location('/index.html')

現實中的需求

在接下來的兩節(現實中的需求 和 現實中的用例)中,我將描述如何在現實場景中使用 Selenium,并針對用 Ruby on Rails 和一點兒 Ajax 技術編寫的一個簡單的股票報價查看器應用程序編寫 Selenium 測試用例。雖然這個應用程序是用 Ruby on Rails 編寫的,但是也可以將這個例子應用于任何 Web 應用程序,因為測試腳本是按 test runner 模式以 HTML 編寫的。這個示例應用程序是用 Ruby 1.8.3 和 Ruby on Rails 0.14.2 測試的,但是它也可能可以使用更舊的或更新的版本。

如果有 Linux,那么發行版中通常已經包括了 Ruby。在命令提示符下運行 ruby -v,檢查您所擁有的版本。對于大多數平臺,都可以在http://www.ruby-lang.org/上找到一個 Ruby 發行版。

接下來的步驟是通過 RubyGems 打包系統安裝 Ruby on Rails。為此,只需執行 gem install rails --include-dependencies。在某些平臺上,必須執行一些額外的步驟,所以請訪問 Ruby on Rails 網站,以獲得更多細節。

在我撰寫本文之際,目前可用的 Selenium 版本是 0.6。我已經將它集成在示例應用程序中(見 下載 小節),我的做法是從http://selenium.thoughtworks.com/下載 Selenium Core 包,然后將名為 selenium 的文件夾復制到用于靜態內容的文件夾。在 Ruby on Rails 應用程序中,這個文件夾的名稱是 public。在 J2EE Web 應用程序中,可以將 selenium 文件夾放在 Web 應用程序的根目錄或 WAR 歸檔文件中。

后一步是下載示例應用程序。從 下載 小節中獲得這個包。解壓應用程序,并打開一個命令提示符。然后轉入應用程序被解壓到的那個目錄。為了啟動應用程序,運行 ruby script/server。應該看到 Rails 成功啟動了,如 圖 1 所示。

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 天堂中文在线资源 | 人人看人人鲁狠狠高清 | 日韩在线一区二区三区视频 | 精品一区二区三区视频在线观看 | 国产一卡| 中国嫩模一级毛片 | 男女下面一进一出的视频免费 | 小明永久免费看看 | 五月天综合激情网 | 在线看www | 国产女同志videos | 日本不卡免费在线 | 91国语精品自产拍在线观看性色 | 波多野结衣成人 | 国产成人综合精品一区 | 最近中文字幕免费国语 | 欧美成在人线a免费 | 一级爱爱片一级毛片-一毛 一级α一级α片免费观看网站 | 欧美影院一区 | 天天搞天天操 | 欧美三级香港三级日本三级 | 中文字幕在线乱人伦 | 怡红院手机在线 | 免费人成在线观看视频色 | 另类日韩 | 欧美日韩一区二区三区在线播放 | 成人精品人成网站 | 乱肉伦孕小说在线阅读 | 亚洲日本香蕉视频 | 国产亚洲欧洲日韩综合v | 网站黄免费 | 黄色影视大全 | 日本欧美高清视频 | 久久精品亚洲精品国产欧美 | 日本福利视频 | 高清国产精品久久 | 一女n男np高h文| 国产精品天堂avav在线 | 狠狠插网站 | 成人伊人| 手机看片欧美日韩 |