面向Web的自動(dòng)化測(cè)試工具Watij怎么用,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出獻(xiàn)縣免費(fèi)做網(wǎng)站回饋大家。
隨著軟件產(chǎn)業(yè)的不斷成熟,軟件質(zhì)量保證越來越受軟件企業(yè)重視,被視為軟件企業(yè)的生命。軟件測(cè)試作為軟件質(zhì)量保證中的一個(gè)重要手段,它直接關(guān)系到軟件的質(zhì)量、開發(fā)周期和開發(fā)成本,受到越來越大的重視,被貫穿在軟件的整個(gè)開發(fā)和維護(hù)的生命周期。作為軟件測(cè)試的一個(gè)重要分支,軟件自動(dòng)化測(cè)試正以其自動(dòng)化程度高、實(shí)用性強(qiáng)、測(cè)試效率高等不可取代的優(yōu)點(diǎn),引起了測(cè)試技術(shù)人員的廣泛關(guān)注,成為軟件測(cè)試的方向。層出不窮的軟件自動(dòng)化測(cè)試技術(shù)及軟件自動(dòng)化測(cè)試框架正在被人們廣泛的開發(fā)和利用,在軟件測(cè)試自動(dòng)化中發(fā)揮著突出的作用。而選取何種自動(dòng)化測(cè)試的方案也隨之產(chǎn)生,測(cè)試人員更加需要一個(gè)功能強(qiáng)大且簡(jiǎn)單易用的自動(dòng)化測(cè)試工具,輔助測(cè)試人員搭建測(cè)試框架,設(shè)計(jì)自動(dòng)測(cè)試程序,而又盡可能減少自動(dòng)化測(cè)試程序的開發(fā)和維護(hù)成本。本文所要介紹的 Watij(Web Application Testing in Java)是一個(gè)優(yōu)秀的開源工具,用于開發(fā)基于 Web 應(yīng)用的自動(dòng)化測(cè)試程序。它使用 Java 語言,提供了輕量級(jí)的自動(dòng)化測(cè)試程序框架和豐富的程序開發(fā)庫(kù),有效地加速了自動(dòng)化測(cè)試程序開發(fā)。
首先簡(jiǎn)要地介紹了 Watij 的一些主要功能及特點(diǎn),其次介紹了 Watij 的安裝及配置流程。
Watij 的簡(jiǎn)介
隨著 Web 產(chǎn)品的廣泛應(yīng)用,新的模式解決方案中以 Web 為核心的應(yīng)用也越來越多,很多公司的架構(gòu)都采取 B/S 模式,以及對(duì)于 Web 的應(yīng)用,所以對(duì) Web 產(chǎn)品的測(cè)試就顯得越來越重要,如何對(duì) Web 產(chǎn)品進(jìn)行自動(dòng)化測(cè)試成為當(dāng)今社會(huì)研究的熱點(diǎn)問題之一。
Web 的測(cè)試方法應(yīng)盡量涵蓋 Web 程序的各個(gè)方面,測(cè)試技術(shù)方面也應(yīng)在繼承傳統(tǒng)測(cè)試的基礎(chǔ)上結(jié)合 Web 產(chǎn)品的應(yīng)用特點(diǎn)。本文介紹了一種新的基于 Web 的自動(dòng)化測(cè)試工具 - Watij。Watij 是 Web Application Testing in Java 的縮寫。Watij 是一個(gè)使用 Java 編程語言實(shí)現(xiàn)的開源自動(dòng)化測(cè)試框架,它相比于其他的自動(dòng)化測(cè)試框架,具有小巧,靈活等特點(diǎn)。Watij 也提供了強(qiáng)大的功能,可以滿足自動(dòng)化測(cè)試人員的各個(gè)方面的需要。
運(yùn)用 Watij 的自動(dòng)化測(cè)試框架可以使自動(dòng)化開發(fā)人員利用 Java 編程語言對(duì)產(chǎn)品進(jìn)行自動(dòng)化測(cè)試腳本的開發(fā)。Watij 擁有較為便捷的開發(fā)模式,Watij 提供了豐富的開發(fā)庫(kù),封裝了包括瀏覽器窗口 windows,button,link,,dialog,image,table,div 等絕大多數(shù) HTML 對(duì)象類型,方便測(cè)試人員快速構(gòu)建自動(dòng)化測(cè)試程序。 同時(shí),它提供了大量的應(yīng)用方法以及應(yīng)用接口,這些應(yīng)用接口函數(shù)幾乎包括了所有對(duì)于網(wǎng)頁(yè)操作的方法。開發(fā)人員可以調(diào)用這些方法方便地對(duì)其進(jìn)行使用。另外,Watij 具有高效、快速等特點(diǎn),開發(fā)人員只需要運(yùn)用提供的方法編寫測(cè)試腳本并執(zhí)行改腳本,在測(cè)試運(yùn)行過程中就如同真實(shí)的用戶在操作一樣,使自動(dòng)化測(cè)試工作幾乎模擬人的手工測(cè)試一樣。應(yīng)用基于 Watij 的自動(dòng)化測(cè)試框架能夠使自動(dòng)化腳本的開發(fā)變得更為簡(jiǎn)單而且更具有實(shí)用性。
Watij 的安裝及配置
為了能夠更為詳實(shí)的說明 Watij 自動(dòng)化測(cè)試框架,下面將要介紹 Watij 的安裝及配置過程,使開發(fā)人員能夠更為快捷便利地使用 Watij 這套自動(dòng)化測(cè)試框架進(jìn)行自動(dòng)化的測(cè)試工作。
◆ 軟件安裝包,并進(jìn)行解壓。
◆ Watij_release_3.2.1 的下載地址:http://sourceforge.net/projects/Watij/files/
◆ 將文件中的 jniwrap.dll 拷到 C:\windows\system32\ 目錄下。
◆ 打開一個(gè) Java IDE(如 Eclipse), 并創(chuàng)建一個(gè)新的工程。
◆ 將 Watij.jar 以及 lib 目錄下的所有 jar 包都加載到工程的 classpath 中,如圖 1 所示。
添加jar 包的具體操作步驟如下:
依次打開 New->Project,選擇“Java Project”,點(diǎn)擊“Next”;
“Project Name”中輸入“Watij”,點(diǎn)擊“Next”;
在“Java Settings”中選擇“Libraries”的選項(xiàng),點(diǎn)擊“Add External JARs”;
添加“Watij.jar”和 lib 目錄下的所有 jar,點(diǎn)擊“Finish”。
創(chuàng)建 JUnit TestCase,并確保包含這句話“import static Watij.finders.SymbolFactory.\*;”
圖 1. 導(dǎo)入 jar 包示意圖
首先本節(jié)介紹了 Watij 的應(yīng)用方法,然后通過一個(gè)具體的應(yīng)用實(shí)例來介紹 Watij 的使用。由于 Watij 目前只對(duì) IE 瀏覽器有較好的支持,故以下涉及的內(nèi)容都是以 Windows 平臺(tái)為例,此外,RFT(Rational Functional Tester)是一款先進(jìn)的、自動(dòng)化的功能和回歸測(cè)試工具,它適用于測(cè)試人員和 GUI 開發(fā)人員,故本文采用 RFT 作為 Watij 的 Java IDE 進(jìn)行描述的;而后文章簡(jiǎn)單地介紹 Watij BeanShell 的使用方法;***本節(jié)對(duì) Watij 和 Selenium 這兩個(gè)目前較為流行地自動(dòng)化測(cè)試框架進(jìn)行簡(jiǎn)要的比較與說明,說明了兩者的區(qū)別與聯(lián)系,以及這兩者的各自的應(yīng)用范圍及應(yīng)用領(lǐng)域,說明了在何種情況下應(yīng)用那款自動(dòng)化測(cè)試框架才會(huì)使其發(fā)揮更大的作用。
Watij 的應(yīng)用方法
首先簡(jiǎn)要介紹 Watij 的功用。Watij 可以驅(qū)動(dòng) HTML 在瀏覽器上的 Web 應(yīng)用,它不需要像 Active X、JavaApplets、Macromedia Flash 等類似的插件服務(wù)一樣。
在基于 Web 的自動(dòng)化測(cè)試中,如何獲取網(wǎng)頁(yè)對(duì)象屬性是開發(fā) GUI 自動(dòng)化測(cè)試程序的關(guān)鍵步驟。由于 Watij 本身沒有提供類似于 RFT 中 Object Capture 的對(duì)象捕捉器,但在 Watij 程序的開發(fā)中,我們可以使用一些第三方提供的運(yùn)行在瀏覽器端的 HTML 查看器,進(jìn)行網(wǎng)頁(yè)對(duì)象的獲取,以便查看網(wǎng)頁(yè)的結(jié)構(gòu)和對(duì)象的屬性,這樣將使我們的開發(fā)工作變得更為方便。對(duì)于 IE 瀏覽器,可安裝 Microsoft IE Explorer Develop Toolbar,如果用戶使用的 IE 瀏覽器的版本在 8.0 以上,也可以通過點(diǎn)擊 F12,選擇開發(fā)人員工具,也可以達(dá)到查看某個(gè)對(duì)象屬性的目的。
在使用 Watij 進(jìn)行編寫自動(dòng)化腳本的時(shí)候,開發(fā)人員需要使用類似于 XPath 這樣的編程語言去查看或者定位要使用的對(duì)象屬性。XPath 是一門在 XML 文檔中查找信息的語言。它用于在 XML 文檔中通過元素和屬性進(jìn)行導(dǎo)航。這樣開發(fā)人員才可以有效地進(jìn)行自動(dòng)化腳本的開發(fā)與應(yīng)用。
Watij 的應(yīng)用實(shí)例
1. 將工程建立完成后,需要新建一個(gè)“Jnit Test Case”(如圖 2 所示),例如輸入“Name”為“TestWatijIBM”(圖 3),點(diǎn)擊“Finish”。就可以建立一個(gè)新的腳本,就可以進(jìn)行編寫程序,進(jìn)行自動(dòng)化測(cè)試的工作了。
圖 2. 新建“Junit Test Case”
圖 3. New Junit Test Case 界面
2. 下面我們以“IBM”為關(guān)鍵字進(jìn)行百度搜索的操作做為實(shí)例進(jìn)行介紹。
清單 1. 以“IBM”為關(guān)鍵字進(jìn)行百度搜索
import static watij.finders.SymbolFactory.name; import junit.framework.TestCase; import watij.runtime.ie.IE; public class TestWatijIBM extends TestCase { public void testgooglesearch() throws Exception{ IE ie = new IE(); // 打開 IE 瀏覽器 ie.start(); // 轉(zhuǎn)到百度主頁(yè) ie.goTo("www.baidu.com"); // 在輸入框內(nèi)輸入“IBM” ie.textField(name,"wd").set("IBM"); // 點(diǎn)擊“百度一下”進(jìn)行查找 ie.button("百度一下").click(); // 等待 3 秒 ie.wait(3); } }
3. 運(yùn)行:輸入以上代碼并保存后,選擇“Run as”->“JUnit Test”,如圖 4 所示。
圖 4. 運(yùn)行代碼
4. 執(zhí)行結(jié)果:如果執(zhí)行過程沒有報(bào)錯(cuò)時(shí),JUnit 執(zhí)行狀態(tài)顯示為綠色(如圖 5 所示),并且能夠打開百度的主搜索界面,對(duì)“IBM”為關(guān)鍵字的網(wǎng)頁(yè)進(jìn)行檢索(如圖 6 所示)。
圖 5. 運(yùn)行結(jié)果圖
圖 6. 運(yùn)行 Baidu 界面檢索圖
5. 具體代碼解釋
IE ie = new IE(); IE 對(duì)象實(shí)例化
ie.start(); 啟動(dòng) IE 瀏覽器
ie.goTo("www.ibm.com"); 轉(zhuǎn)到 www.baidu.com 主頁(yè)
ie.textField(name,"wd").set("IBM"); 在輸入框中輸入查找內(nèi)容:“IBM”
ie.button("百度一下").click(); 利用 click 函數(shù)點(diǎn)擊“百度一下”這個(gè) Button
此外,Watij 提供了多種常見的 Web 對(duì)象的識(shí)別與操作的支持,例如:窗口的控制(***化及最小化操作),超鏈接的點(diǎn)擊,多選框的選擇,CheckBox 的選中與清除,RadioBox 的選中與清除,下拉框和列表框的選擇,文本框的輸入,圖片及各種表格的插入與刪除,各種按鈕的點(diǎn)擊,F(xiàn)rame 的訪問以及彈出窗口的控制等。
Watij BeanShell 的介紹
Watij 提供了 BeanShell 的開發(fā)工具,方便了開發(fā)人員編寫腳本進(jìn)行自動(dòng)化的測(cè)試或?qū)δ_本進(jìn)行各種調(diào)試的工作。
操作步驟如下所以:
雙擊 launchWatijBeanShell.bat 或用命令行執(zhí)行,進(jìn)入 BeanShell 的操作界面;
圖 7 為用命令行執(zhí)行 launchWatijBeanShell.bat 命令。
圖 8 為 BeanShell 的操作界面,BeanShell 提供的操作界面具有操作方便、簡(jiǎn)單等優(yōu)點(diǎn)。
圖 7. 命令行執(zhí)行 launchWatijBeanShell.bat
圖 8. BeanShell 操作界面
在 bsh Workspace 中輸入腳本腳本語言進(jìn)行相關(guān)的測(cè)試工作。
圖 9. 利用 BeanShell 執(zhí)行 Baidu 搜索操作
需要說明的是 BeanShell 的是逐步執(zhí)行的,即每一步 bsh 都需要去執(zhí)行,方便開發(fā)人員對(duì)代碼進(jìn)行相關(guān)的 debug 操作,使開發(fā)人員能夠方便地調(diào)試程序。BeanShell 也提供了相應(yīng)的字體設(shè)置功能,開發(fā)人員可以根據(jù)自己的需要進(jìn)行相應(yīng)的字體設(shè)置。
Watij 與 Selenium 的比較
下面本文將介紹 Watij 和 Selenium 的異同。Watij 和 Selenium 都是可用于網(wǎng)頁(yè)自動(dòng)化測(cè)試的開源工具,兩者都具有各自的特點(diǎn)及優(yōu)勢(shì),它們之間有何異同,到底要如何取舍?首先,Watij 和 Selenium 都是直接在瀏覽器中運(yùn)行腳本,并允許在腳本運(yùn)行時(shí)將瀏覽器最小化,這意味著不需要因?yàn)樽詣?dòng)化測(cè)試而占用一臺(tái)機(jī)器的資源。其次,兩者都需要運(yùn)用 XPath 去編寫腳本,所以要求使用者必備 XPath 的基本知識(shí)。但是,它們?cè)诰帉懩_本是有一些地方是有區(qū)別的,下面本文將執(zhí)行相同功能的代碼比較進(jìn)行簡(jiǎn)單說明。
清單 2 是用 Watij 執(zhí)行網(wǎng)頁(yè)登陸操作的代碼:
清單 2. 執(zhí)行登陸網(wǎng)頁(yè)操作的代碼清單
import junit.framework.TestCase; import static watij.finders.SymbolFactory.name; import watij.runtime.ie.IE; public class TestConcord extends TestCase { public void testconcordfunction() throws Exception{ IE ie = new IE(); // 打開 IE 瀏覽器 ie.start(); // 轉(zhuǎn)到 concord77 ie.goTo("http://concord77.cn.ibm.com/files/app?lang=en_US#/pinnedfiles"); // 窗口***化 ie.maximize(); // 安全認(rèn)證 ie.link(name, "overridelink").click(); // 在輸入框內(nèi)輸入用戶名和密碼 ie.textField(name,"j_username").set("Abdul_000_006"); ie.textField(name, "j_password").set("passw0rd"); // 點(diǎn)擊登陸 ie.button("登錄").click(); // 保存結(jié)果圖 ie.screenCapture(“D:\\Savelogin.png”); } }
由于本文主要介紹 Watij 的自動(dòng)化測(cè)試框架,故不涉及完整的 Selenium 的執(zhí)行代碼。如果用 Selenium 腳本語言編寫上述功能,***的不同在于 Selenium 必須用完整的 XPath 語句輸入才可以編寫執(zhí)行。
例如:
Watij 腳本語言執(zhí)行點(diǎn)擊某個(gè) link: ie.link(name, "overridelink").click();
Selenium 腳本語言執(zhí)行點(diǎn)擊某個(gè) link: Selenium.click("//a[@name='overridelink']");
相比這下 Watij 的代碼會(huì)顯得更為清晰、靈活,易于理解。
此外相比于 Selenium,Watij 具有更快的執(zhí)行速度。因?yàn)?Watij 是直接調(diào)用 .dll 的文件,不用多加一個(gè)容器去加載,而需要啟動(dòng)一個(gè) jetty 容器。故 Watij 比 Selenium 調(diào)用過程更為直接,所以運(yùn)行速度要超過 Selenium。此外,Selenium 對(duì)彈出窗口、上傳、下載等功能支持的并不好,常常需要借助第三方工具包,如 AutoIt3,Watij 在這方面的處理上要好于 Selenium;另外,Watij 提供了截圖的方法,這是 Selenium 目前所不具備的。但是,Watij 目前只對(duì) IE 瀏覽器有較好的支持,這正是 Selenium 的優(yōu)勢(shì)所在,Selenium 可以支持多瀏覽器,如 IE,F(xiàn)irefox, Safari 等等,另外,Selenium 提供了錄制和回放腳本的功能,并可以將錄制好的腳本轉(zhuǎn)換成各種主流編程語言,Watij 則未提供此功能。
所以,當(dāng)測(cè)試人員測(cè)試的產(chǎn)品是基于 IE 瀏覽器的,Watij 顯然更具優(yōu)勢(shì),但當(dāng)測(cè)試人員測(cè)試的產(chǎn)品是基于多瀏覽器的,或者需要測(cè)試瀏覽器之間的兼容性,顯然 Selenium 會(huì)成為更好的選擇。
Watij 的特點(diǎn)及優(yōu)勢(shì)
Watij 提供了一套基于 Watir 的純 Java API 用于 Web 應(yīng)用程序自動(dòng)測(cè)試。Watij 通過一個(gè)真實(shí)的瀏覽器來實(shí)現(xiàn)自動(dòng)化測(cè)試。
Web 自動(dòng)化測(cè)試大致采用兩種方法實(shí)現(xiàn):***種方法是協(xié)議測(cè)試,這種方法是建立在 HTTP 協(xié)議上的測(cè)試,通過 get 或 post 等方式向服務(wù)器發(fā)送請(qǐng)求,然后對(duì)從服務(wù)器返回的結(jié)果數(shù)據(jù)進(jìn)行解析、驗(yàn)證等操作;第二種方法是基于瀏覽器端的測(cè)試,這種測(cè)試是通過啟動(dòng)真實(shí)瀏覽器環(huán)境并自動(dòng)執(zhí)行瀏覽器端的相關(guān)操作(如點(diǎn)擊按鈕、文本框的輸入及選擇列表框等 )進(jìn)行測(cè)試。Watij 作為 sourceforge 上一個(gè)純 Java API 的 Web 自動(dòng)化測(cè)試工具,它以第二種測(cè)試方法為原理進(jìn)行工作,它是完全開源免費(fèi)的軟件包,并且在網(wǎng)頁(yè)元素定位和跨平臺(tái)部署等方面有著出色的表現(xiàn)。
Watij 自動(dòng)化測(cè)試框架還有如下優(yōu)勢(shì):
◆ 它像是模仿真實(shí)的用戶對(duì)網(wǎng)頁(yè)進(jìn)行操作的,而且具有較快的運(yùn)行速度。
◆ Watij 對(duì)網(wǎng)頁(yè)進(jìn)行操作時(shí)是得到網(wǎng)頁(yè)的原始數(shù)據(jù),這樣就可以更為準(zhǔn)確地,客觀地進(jìn)行自動(dòng)化腳本的開發(fā)及驗(yàn)證工作。
◆ Watij 可結(jié)合任何的 Java IDE 進(jìn)行使用,它們的配置過程非常簡(jiǎn)單,免去了開發(fā)人員由于配置環(huán)境的問題而浪費(fèi)大量的時(shí)間和精力。
◆ Watij 相比于其他的基于 Web 的自動(dòng)化測(cè)試工具有很好的執(zhí)行結(jié)果,提高了開發(fā)人員的工作效率。
◆ Watij 提供了很好的 Debug 工具,為開發(fā)人員進(jìn)行調(diào)試工作提供了方便。
◆ Watij 程序在運(yùn)行時(shí),允許測(cè)試人員在該測(cè)試機(jī)器上訪問其他網(wǎng)頁(yè)或者進(jìn)行其他操作而不會(huì)影響到對(duì)象識(shí)別的結(jié)果。
關(guān)于面向Web的自動(dòng)化測(cè)試工具Watij怎么用問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
標(biāo)題名稱:面向Web的自動(dòng)化測(cè)試工具Watij怎么用
瀏覽路徑:http://www.rwnh.cn/article30/jejepo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站導(dǎo)航、網(wǎng)站營(yíng)銷、網(wǎng)站收錄、外貿(mào)建站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)