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

您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Selenium
用 Selenium 自動(dòng)化驗(yàn)收測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2012/11/29 14:21:38 ] 推薦標(biāo)簽:

驗(yàn)收測(cè)試(也稱功能測(cè)試)是用來(lái)測(cè)試手工任務(wù)的功能的,但是手工測(cè)試這些任務(wù)可能很花時(shí)間,并且容易出現(xiàn)人為的錯(cuò)誤。在本文中,作者為架構(gòu)師、開發(fā)人員和測(cè)試人員展示了如何使用 Selenium 測(cè)試工具來(lái)自動(dòng)化驗(yàn)收測(cè)試。通過自動(dòng)化測(cè)試,可以節(jié)省時(shí)間,并消除測(cè)試人員所犯的錯(cuò)誤。文中還給出了一個(gè)例子,以演示如何將 Selenium 應(yīng)用到現(xiàn)實(shí)中使用 Ruby on Rails 和 Ajax 的項(xiàng)目上。

Web 應(yīng)用程序的驗(yàn)收測(cè)試常常涉及一些手工任務(wù),例如打開一個(gè)瀏覽器,并執(zhí)行一個(gè)測(cè)試用例中所描述的操作。但是手工執(zhí)行的任務(wù)容易出現(xiàn)操作人員人為的錯(cuò)誤,也比較費(fèi)時(shí)間。因此,盡可能將這些任務(wù)自動(dòng)化,以消除人為因素,這是一種很好的做法。于是 Selenium 之類的測(cè)試工具有了用武之地。Selenium 幫助您自動(dòng)化驗(yàn)收測(cè)試,從而可以構(gòu)建經(jīng)過更嚴(yán)格測(cè)試、因而更為可靠也更易于維護(hù)的軟件。

驗(yàn)收測(cè)試也稱黑盒測(cè)試和功能測(cè)試,是測(cè)試和檢驗(yàn)應(yīng)用程序是否能按照涉眾(stakeholder)的功能性需求、非功能性需求和其他重要需求來(lái)運(yùn)行的一種方法。驗(yàn)收測(cè)試是單元測(cè)試和組合測(cè)試的補(bǔ)充,后兩者通常是使用 xUnit 框架編寫的。驗(yàn)收測(cè)試也可以使用編程語(yǔ)言來(lái)編寫,但是 Selenium 和其他類似的工具,例如 Fitnesse,也支持用特定于工具的文檔格式編寫測(cè)試。

驗(yàn)收測(cè)試與單元測(cè)試和組合測(cè)試有以下不同之處:

* 應(yīng)用程序是作為一個(gè)完整的端到端實(shí)體來(lái)測(cè)試的,而不是像單元測(cè)試和組合測(cè)試那樣,只是測(cè)試一個(gè)類或一組類。
* 驗(yàn)收測(cè)試是在用戶界面(例如一個(gè)瀏覽器)上執(zhí)行的,而不是在 Web 應(yīng)用程序界面上執(zhí)行的。
* 編寫測(cè)試用例的人不一定知道應(yīng)用程序的內(nèi)部結(jié)構(gòu),因此也被稱作黑盒測(cè)試。非技術(shù)性用戶也可以編寫驗(yàn)收測(cè)試。

背景知識(shí)

在討論 Selenium 之前,我要介紹關(guān)于以下三個(gè)話題的一些背景知識(shí),因?yàn)檫@些話題雖然不是本文的主題,但是和本文密切相關(guān):

* 持續(xù)集成
* Ajax
* Ruby/Ruby on Rails

持續(xù)集成

持續(xù)集成的目標(biāo)是自動(dòng)化構(gòu)建和測(cè)試過程,以便每天自動(dòng)運(yùn)行一次或多次這些過程,而不是每個(gè)月手動(dòng)地運(yùn)行一次。使用持續(xù)集成的大好處是,代碼的更改會(huì)定期地自動(dòng)被集成。如果系統(tǒng)受損,沒有構(gòu)建成功,Apache Continuum 和 Luntbuild 之類的持續(xù)集成工具可以自動(dòng)通過發(fā)送電子郵件通知團(tuán)隊(duì)(見 參考資料)。

Ajax

Ajax 是 Asynchronous JavaScript and XML 的縮寫,這是為相當(dāng)老的技術(shù)新創(chuàng)造的一個(gè)術(shù)語(yǔ)。Ajax 背后的主要思想是,由于只需更新部分頁(yè)面而不是整個(gè)頁(yè)面,所以 Web 應(yīng)用程序可以更快地對(duì)用戶操作做出響應(yīng)。

Ajax 將更多的復(fù)雜性引入到 Web 應(yīng)用程序中,這一點(diǎn)也反映在測(cè)試中。這是因?yàn)?Ajax 像它的名稱所表明的那樣,使用 JavaScript 和異步 HTTP 請(qǐng)求來(lái)更新頁(yè)面內(nèi)容。每個(gè)瀏覽器在實(shí)現(xiàn)中與其他瀏覽器相比有一些小小的不同。Selenium 是測(cè)試和檢測(cè)這些差異的很好的工具,因?yàn)樗诖蠖鄶?shù)流行的瀏覽器中都能夠運(yùn)行。

Ruby/Ruby on Rails

Ruby 是一種開放源碼的解釋型腳本語(yǔ)言,用于快捷、容易地進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)。它提供了大量的庫(kù),而且簡(jiǎn)單易用,還具有可擴(kuò)展性和可移植性。該語(yǔ)言是由 Yukihiro “Matz” Matsumoto 創(chuàng)造的,目的是讓程序員將更多的注意力放在手頭的任務(wù)上,擺脫語(yǔ)法的煩惱。

Rails 是由 David Heinemeier Hansson 創(chuàng)造的一種全棧的(full-stack)、開放源碼的 Ruby Web 框架。Rails 的目標(biāo)是使現(xiàn)實(shí)中的應(yīng)用程序編寫起來(lái)需要的代碼更少,并且比 J2EE 和 XML 之類的語(yǔ)言更容易。所有層都能夠無(wú)縫地一起工作,因此可以使用一種語(yǔ)言編寫從模板到控制流乃至業(yè)務(wù)邏輯的各種東西。Rails 使用 YAML 而不是 XML 配置文件以及注釋形式的反射和運(yùn)行時(shí)擴(kuò)展。這里不存在編譯階段 —— 程序修改后將直接運(yùn)行。

什么是 Selenium?

Selenium 是 ThoughtWorks 專門為 Web 應(yīng)用程序編寫的一個(gè)驗(yàn)收測(cè)試工具。據(jù) Selenium 主頁(yè)所說(shuō),與其他測(cè)試工具相比,使用 Selenium 的大好處是:

Selenium 測(cè)試直接在瀏覽器中運(yùn)行,像真實(shí)用戶所做的一樣。Selenium 測(cè)試可以在 Windows、Linux 和 MacintoshAnd 上的 Internet Explorer、Mozilla 和 Firefox 中運(yùn)行。其他測(cè)試工具都不能覆蓋如此多的平臺(tái)。

使用 Selenium 和在瀏覽器中運(yùn)行測(cè)試還有很多其他好處。下面是主要的兩大好處:

* 通過編寫模仿用戶操作的 Selenium 測(cè)試腳本,可以從終端用戶的角度來(lái)測(cè)試應(yīng)用程序。
* 通過在不同瀏覽器中運(yùn)行測(cè)試,更容易發(fā)現(xiàn)瀏覽器的不兼容性。

Selenium 的核心,也稱 browser bot,是用 JavaScript 編寫的。這使得測(cè)試腳本可以在受支持的瀏覽器中運(yùn)行。browser bot 負(fù)責(zé)執(zhí)行從測(cè)試腳本接收到的命令,測(cè)試腳本要么是用 HTML 的表布局編寫的,要么是使用一種受支持的編程語(yǔ)言編寫的。

Selenium 適用于以下瀏覽器:

   Internet Explorer  Mozilla  Firefox  Safari
Windows XP
 6.0  1.6+, 1.7+  0.8+, 0.9+, 1.0  
Red Hat Linux
    1.6+, 1.7+  0.8+, 0.9+, 1.0+  
Mac OS X 10.3
 不支持  1.6+, 1.7+  0.8+, 0.9+, 1.0+  1.3+

Selenium 命令

通過 Selenium 命令,腳本編寫者可以描述 browser bot 在瀏覽器中所執(zhí)行的操作。可以將這些命令分成兩類 —— 操作(action) 和斷言(assertion):

* 操作模擬用戶與 Web 應(yīng)用程序的交互。例如,單擊一個(gè)按鈕和填寫一個(gè)表單,這些都是常見的用戶操作,可以用 Selenium 命令來(lái)自動(dòng)化這些操作。
* 斷言驗(yàn)證一個(gè)命令的預(yù)期結(jié)果。常見的斷言包括驗(yàn)證頁(yè)面內(nèi)容或當(dāng)前位置是否正確。

在 Selenium 網(wǎng)站上可以找到可用命令的完整列表(見 參考資料)。

Selenium 模式

可以按兩種模式來(lái)使用 Selenium:test runner 和 driven。這兩種模式在復(fù)雜性和編寫方式方面有所不同。driven 測(cè)試腳本編寫起來(lái)往往要更復(fù)雜一些,因?yàn)樗鼈兪怯镁幊陶Z(yǔ)言編寫的。但是如果使用 Python 或 Ruby 之類的高級(jí)動(dòng)態(tài)編程語(yǔ)言,那么這種復(fù)雜性方面的差異很小。

兩種模式之間大的不同點(diǎn)在于,如果使用 driven 腳本,測(cè)試有一部分在瀏覽器之外運(yùn)行,而如果使用 test runner 腳本的話,測(cè)試是完全在瀏覽器中運(yùn)行的。

不管是 test runner 還是 driven 測(cè)試用例,都可以與持續(xù)集成工具集成。

test runner 模式

Selenium test runner 腳本,也稱測(cè)試用例(test case),是用 HTML 語(yǔ)言通過一個(gè)簡(jiǎn)單的表布局編寫的,如 清單 1所示。

清單 1. Selenium 測(cè)試用例的結(jié)構(gòu)
clearcase/" target="_blank" >cccccc><table border="1">
<tr>
<td>First command</td>
<td>Target</td>
<td>Value</td>
</tr>
<tr>
<td>Second command</td>
<td>Target</td>
<td>Value</td>
</tr>
</table>

test runner 腳本通常與所測(cè)試的應(yīng)用程序(AUT)部署在同一個(gè)服務(wù)器上。這是因?yàn)?browser bot 使用 JavaScript 來(lái)模擬用戶操作。這些腳本在一個(gè)受限制的沙箱環(huán)境中運(yùn)行。如果需要繞過這些限制,可以使用一個(gè)代理。

上一頁(yè)123下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 午夜羞羞视频 | 亚洲无线视频 | 中文字幕在线视频免费 | 国产日韩欧美第一页 | 中日韩欧美视频 | 一区二区视频在线观看免费的 | 亚洲专区路线一路线二 | 欧美九九视频 | 欧美精品亚洲精品日韩 | 亚洲日本视频 | 激情综合色综合久久综合 | 一级毛片观看 | 黄色片子免费看 | 国产又黄又湿又刺激不卡网站 | 国产成人免费在线视频 | 久久永久免费 | 婷婷亚洲久悠悠色悠在线播放 | 日本免费黄色网址 | 波多野结衣视频在线看 | 全部毛片免费看 | 日韩永久在线观看免费视频 | 日本高清不卡一区久久精品 | a级毛片在线视频免费观看 a级免费看 | 亚洲第一页综合 | 一级黄色夫妻 | 精品不卡 | 国产精品12p | 国产精品亚洲欧美一区麻豆 | 射综合网 | 午夜黄色毛片 | 亚洲精品综合久久 | 不卡三级 | 欧美很黄视频在线观看 | 国产欧美日韩在线播放 | 日韩精品中文字幕一区三区 | 欧美天堂在线 | 久久久青草青青亚洲国产免观 | 国产视频中文字幕 | 久青草免费在线视频 | 91在线视频免费91 | 嘿嘿连载黄色 |