面向Web的自動化測試工具Watij怎么用

面向Web的自動化測試工具Watij怎么用,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

公司主營業(yè)務:網(wǎng)站制作、網(wǎng)站設計、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出獻縣免費做網(wǎng)站回饋大家。

隨著軟件產業(yè)的不斷成熟,軟件質量保證越來越受軟件企業(yè)重視,被視為軟件企業(yè)的生命。軟件測試作為軟件質量保證中的一個重要手段,它直接關系到軟件的質量、開發(fā)周期和開發(fā)成本,受到越來越大的重視,被貫穿在軟件的整個開發(fā)和維護的生命周期。作為軟件測試的一個重要分支,軟件自動化測試正以其自動化程度高、實用性強、測試效率高等不可取代的優(yōu)點,引起了測試技術人員的廣泛關注,成為軟件測試的方向。層出不窮的軟件自動化測試技術及軟件自動化測試框架正在被人們廣泛的開發(fā)和利用,在軟件測試自動化中發(fā)揮著突出的作用。而選取何種自動化測試的方案也隨之產生,測試人員更加需要一個功能強大且簡單易用的自動化測試工具,輔助測試人員搭建測試框架,設計自動測試程序,而又盡可能減少自動化測試程序的開發(fā)和維護成本。本文所要介紹的 Watij(Web Application Testing in Java)是一個優(yōu)秀的開源工具,用于開發(fā)基于 Web 應用的自動化測試程序。它使用 Java 語言,提供了輕量級的自動化測試程序框架和豐富的程序開發(fā)庫,有效地加速了自動化測試程序開發(fā)。

首先簡要地介紹了 Watij 的一些主要功能及特點,其次介紹了 Watij 的安裝及配置流程。

Watij 的簡介

隨著 Web 產品的廣泛應用,新的模式解決方案中以 Web 為核心的應用也越來越多,很多公司的架構都采取 B/S 模式,以及對于 Web 的應用,所以對 Web 產品的測試就顯得越來越重要,如何對 Web 產品進行自動化測試成為當今社會研究的熱點問題之一。

Web 的測試方法應盡量涵蓋 Web 程序的各個方面,測試技術方面也應在繼承傳統(tǒng)測試的基礎上結合 Web 產品的應用特點。本文介紹了一種新的基于 Web 的自動化測試工具 - Watij。Watij 是 Web Application Testing in Java 的縮寫。Watij 是一個使用 Java 編程語言實現(xiàn)的開源自動化測試框架,它相比于其他的自動化測試框架,具有小巧,靈活等特點。Watij 也提供了強大的功能,可以滿足自動化測試人員的各個方面的需要。

運用 Watij 的自動化測試框架可以使自動化開發(fā)人員利用 Java 編程語言對產品進行自動化測試腳本的開發(fā)。Watij 擁有較為便捷的開發(fā)模式,Watij 提供了豐富的開發(fā)庫,封裝了包括瀏覽器窗口 windows,button,link,,dialog,image,table,div 等絕大多數(shù) HTML 對象類型,方便測試人員快速構建自動化測試程序。 同時,它提供了大量的應用方法以及應用接口,這些應用接口函數(shù)幾乎包括了所有對于網(wǎng)頁操作的方法。開發(fā)人員可以調用這些方法方便地對其進行使用。另外,Watij 具有高效、快速等特點,開發(fā)人員只需要運用提供的方法編寫測試腳本并執(zhí)行改腳本,在測試運行過程中就如同真實的用戶在操作一樣,使自動化測試工作幾乎模擬人的手工測試一樣。應用基于 Watij 的自動化測試框架能夠使自動化腳本的開發(fā)變得更為簡單而且更具有實用性。

Watij 的安裝及配置

為了能夠更為詳實的說明 Watij 自動化測試框架,下面將要介紹 Watij 的安裝及配置過程,使開發(fā)人員能夠更為快捷便利地使用 Watij 這套自動化測試框架進行自動化的測試工作。

◆ 軟件安裝包,并進行解壓。

◆ Watij_release_3.2.1 的下載地址:http://sourceforge.net/projects/Watij/files/

◆ 將文件中的 jniwrap.dll 拷到 C:\windows\system32\ 目錄下。

◆ 打開一個 Java IDE(如 Eclipse), 并創(chuàng)建一個新的工程。

◆ 將 Watij.jar 以及 lib 目錄下的所有 jar 包都加載到工程的 classpath 中,如圖 1 所示。

添加jar 包的具體操作步驟如下:

依次打開 New->Project,選擇“Java Project”,點擊“Next”;

“Project Name”中輸入“Watij”,點擊“Next”;

在“Java Settings”中選擇“Libraries”的選項,點擊“Add External JARs”;

添加“Watij.jar”和 lib 目錄下的所有 jar,點擊“Finish”。

創(chuàng)建 JUnit TestCase,并確保包含這句話“import static Watij.finders.SymbolFactory.\*;”

圖 1. 導入 jar 包示意圖

面向Web的自動化測試工具Watij怎么用

首先本節(jié)介紹了 Watij 的應用方法,然后通過一個具體的應用實例來介紹 Watij 的使用。由于 Watij 目前只對 IE 瀏覽器有較好的支持,故以下涉及的內容都是以 Windows 平臺為例,此外,RFT(Rational Functional Tester)是一款先進的、自動化的功能和回歸測試工具,它適用于測試人員和 GUI 開發(fā)人員,故本文采用 RFT 作為 Watij 的 Java IDE 進行描述的;而后文章簡單地介紹 Watij BeanShell 的使用方法;***本節(jié)對 Watij 和 Selenium 這兩個目前較為流行地自動化測試框架進行簡要的比較與說明,說明了兩者的區(qū)別與聯(lián)系,以及這兩者的各自的應用范圍及應用領域,說明了在何種情況下應用那款自動化測試框架才會使其發(fā)揮更大的作用。

Watij 的應用方法

首先簡要介紹 Watij 的功用。Watij 可以驅動 HTML 在瀏覽器上的 Web 應用,它不需要像 Active X、JavaApplets、Macromedia Flash 等類似的插件服務一樣。

在基于 Web 的自動化測試中,如何獲取網(wǎng)頁對象屬性是開發(fā) GUI 自動化測試程序的關鍵步驟。由于 Watij 本身沒有提供類似于 RFT 中 Object Capture 的對象捕捉器,但在 Watij 程序的開發(fā)中,我們可以使用一些第三方提供的運行在瀏覽器端的 HTML 查看器,進行網(wǎng)頁對象的獲取,以便查看網(wǎng)頁的結構和對象的屬性,這樣將使我們的開發(fā)工作變得更為方便。對于 IE 瀏覽器,可安裝 Microsoft IE Explorer Develop Toolbar,如果用戶使用的 IE 瀏覽器的版本在 8.0 以上,也可以通過點擊 F12,選擇開發(fā)人員工具,也可以達到查看某個對象屬性的目的。

在使用 Watij 進行編寫自動化腳本的時候,開發(fā)人員需要使用類似于 XPath 這樣的編程語言去查看或者定位要使用的對象屬性。XPath 是一門在 XML 文檔中查找信息的語言。它用于在 XML 文檔中通過元素和屬性進行導航。這樣開發(fā)人員才可以有效地進行自動化腳本的開發(fā)與應用。

Watij 的應用實例

1. 將工程建立完成后,需要新建一個“Jnit Test Case”(如圖 2 所示),例如輸入“Name”為“TestWatijIBM”(圖 3),點擊“Finish”。就可以建立一個新的腳本,就可以進行編寫程序,進行自動化測試的工作了。

圖 2. 新建“Junit Test Case”

面向Web的自動化測試工具Watij怎么用

圖 3. New Junit Test Case 界面

面向Web的自動化測試工具Watij怎么用

2. 下面我們以“IBM”為關鍵字進行百度搜索的操作做為實例進行介紹。

清單 1. 以“IBM”為關鍵字進行百度搜索

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();    // 轉到百度主頁   ie.goTo("www.baidu.com");    // 在輸入框內輸入“IBM”   ie.textField(name,"wd").set("IBM");    // 點擊“百度一下”進行查找   ie.button("百度一下").click();    // 等待 3 秒   ie.wait(3);    }    }

3. 運行:輸入以上代碼并保存后,選擇“Run as”->“JUnit Test”,如圖 4 所示。

圖 4. 運行代碼

面向Web的自動化測試工具Watij怎么用

4. 執(zhí)行結果:如果執(zhí)行過程沒有報錯時,JUnit 執(zhí)行狀態(tài)顯示為綠色(如圖 5 所示),并且能夠打開百度的主搜索界面,對“IBM”為關鍵字的網(wǎng)頁進行檢索(如圖 6 所示)。

圖 5. 運行結果圖

面向Web的自動化測試工具Watij怎么用

圖 6. 運行 Baidu 界面檢索圖

面向Web的自動化測試工具Watij怎么用

5. 具體代碼解釋

IE ie = new IE(); IE 對象實例化

ie.start(); 啟動 IE 瀏覽器

ie.goTo("www.ibm.com"); 轉到 www.baidu.com 主頁

ie.textField(name,"wd").set("IBM"); 在輸入框中輸入查找內容:“IBM”

ie.button("百度一下").click(); 利用 click 函數(shù)點擊“百度一下”這個 Button

此外,Watij 提供了多種常見的 Web 對象的識別與操作的支持,例如:窗口的控制(***化及最小化操作),超鏈接的點擊,多選框的選擇,CheckBox 的選中與清除,RadioBox 的選中與清除,下拉框和列表框的選擇,文本框的輸入,圖片及各種表格的插入與刪除,各種按鈕的點擊,F(xiàn)rame 的訪問以及彈出窗口的控制等。

Watij BeanShell 的介紹

Watij 提供了 BeanShell 的開發(fā)工具,方便了開發(fā)人員編寫腳本進行自動化的測試或對腳本進行各種調試的工作。

操作步驟如下所以:

雙擊 launchWatijBeanShell.bat 或用命令行執(zhí)行,進入 BeanShell 的操作界面;

圖 7 為用命令行執(zhí)行 launchWatijBeanShell.bat 命令。

圖 8 為 BeanShell 的操作界面,BeanShell 提供的操作界面具有操作方便、簡單等優(yōu)點。

圖 7. 命令行執(zhí)行 launchWatijBeanShell.bat

面向Web的自動化測試工具Watij怎么用

圖 8. BeanShell 操作界面

面向Web的自動化測試工具Watij怎么用

在 bsh Workspace 中輸入腳本腳本語言進行相關的測試工作。

圖 9. 利用 BeanShell 執(zhí)行 Baidu 搜索操作

面向Web的自動化測試工具Watij怎么用

需要說明的是 BeanShell 的是逐步執(zhí)行的,即每一步 bsh 都需要去執(zhí)行,方便開發(fā)人員對代碼進行相關的 debug 操作,使開發(fā)人員能夠方便地調試程序。BeanShell 也提供了相應的字體設置功能,開發(fā)人員可以根據(jù)自己的需要進行相應的字體設置。

Watij 與 Selenium 的比較

下面本文將介紹 Watij 和 Selenium 的異同。Watij 和 Selenium 都是可用于網(wǎng)頁自動化測試的開源工具,兩者都具有各自的特點及優(yōu)勢,它們之間有何異同,到底要如何取舍?首先,Watij 和 Selenium 都是直接在瀏覽器中運行腳本,并允許在腳本運行時將瀏覽器最小化,這意味著不需要因為自動化測試而占用一臺機器的資源。其次,兩者都需要運用 XPath 去編寫腳本,所以要求使用者必備 XPath 的基本知識。但是,它們在編寫腳本是有一些地方是有區(qū)別的,下面本文將執(zhí)行相同功能的代碼比較進行簡單說明。

清單 2 是用 Watij 執(zhí)行網(wǎng)頁登陸操作的代碼:

清單 2. 執(zhí)行登陸網(wǎng)頁操作的代碼清單

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();    // 轉到 concord77    ie.goTo("http://concord77.cn.ibm.com/files/app?lang=en_US#/pinnedfiles");    // 窗口***化   ie.maximize();    // 安全認證   ie.link(name, "overridelink").click();    // 在輸入框內輸入用戶名和密碼   ie.textField(name,"j_username").set("Abdul_000_006");    ie.textField(name, "j_password").set("passw0rd");    // 點擊登陸   ie.button("登錄").click();    // 保存結果圖   ie.screenCapture(“D:\\Savelogin.png”);    }    }

由于本文主要介紹 Watij 的自動化測試框架,故不涉及完整的 Selenium 的執(zhí)行代碼。如果用 Selenium 腳本語言編寫上述功能,***的不同在于 Selenium 必須用完整的 XPath 語句輸入才可以編寫執(zhí)行。

例如:

Watij 腳本語言執(zhí)行點擊某個 link: ie.link(name, "overridelink").click();

Selenium 腳本語言執(zhí)行點擊某個 link: Selenium.click("//a[@name='overridelink']");

相比這下 Watij 的代碼會顯得更為清晰、靈活,易于理解。

此外相比于 Selenium,Watij 具有更快的執(zhí)行速度。因為 Watij 是直接調用 .dll 的文件,不用多加一個容器去加載,而需要啟動一個 jetty 容器。故 Watij 比 Selenium 調用過程更為直接,所以運行速度要超過 Selenium。此外,Selenium 對彈出窗口、上傳、下載等功能支持的并不好,常常需要借助第三方工具包,如 AutoIt3,Watij 在這方面的處理上要好于 Selenium;另外,Watij 提供了截圖的方法,這是 Selenium 目前所不具備的。但是,Watij 目前只對 IE 瀏覽器有較好的支持,這正是 Selenium 的優(yōu)勢所在,Selenium 可以支持多瀏覽器,如 IE,F(xiàn)irefox, Safari 等等,另外,Selenium 提供了錄制和回放腳本的功能,并可以將錄制好的腳本轉換成各種主流編程語言,Watij 則未提供此功能。

所以,當測試人員測試的產品是基于 IE 瀏覽器的,Watij 顯然更具優(yōu)勢,但當測試人員測試的產品是基于多瀏覽器的,或者需要測試瀏覽器之間的兼容性,顯然 Selenium 會成為更好的選擇。

Watij 的特點及優(yōu)勢

Watij 提供了一套基于 Watir 的純 Java API 用于 Web 應用程序自動測試。Watij 通過一個真實的瀏覽器來實現(xiàn)自動化測試。

Web 自動化測試大致采用兩種方法實現(xiàn):***種方法是協(xié)議測試,這種方法是建立在 HTTP 協(xié)議上的測試,通過 get 或 post 等方式向服務器發(fā)送請求,然后對從服務器返回的結果數(shù)據(jù)進行解析、驗證等操作;第二種方法是基于瀏覽器端的測試,這種測試是通過啟動真實瀏覽器環(huán)境并自動執(zhí)行瀏覽器端的相關操作(如點擊按鈕、文本框的輸入及選擇列表框等 )進行測試。Watij 作為 sourceforge 上一個純 Java API 的 Web 自動化測試工具,它以第二種測試方法為原理進行工作,它是完全開源免費的軟件包,并且在網(wǎng)頁元素定位和跨平臺部署等方面有著出色的表現(xiàn)。

Watij 自動化測試框架還有如下優(yōu)勢:

◆ 它像是模仿真實的用戶對網(wǎng)頁進行操作的,而且具有較快的運行速度。

◆ Watij 對網(wǎng)頁進行操作時是得到網(wǎng)頁的原始數(shù)據(jù),這樣就可以更為準確地,客觀地進行自動化腳本的開發(fā)及驗證工作。

◆ Watij 可結合任何的 Java IDE 進行使用,它們的配置過程非常簡單,免去了開發(fā)人員由于配置環(huán)境的問題而浪費大量的時間和精力。

◆ Watij 相比于其他的基于 Web 的自動化測試工具有很好的執(zhí)行結果,提高了開發(fā)人員的工作效率。

◆ Watij 提供了很好的 Debug 工具,為開發(fā)人員進行調試工作提供了方便。

◆ Watij 程序在運行時,允許測試人員在該測試機器上訪問其他網(wǎng)頁或者進行其他操作而不會影響到對象識別的結果。

關于面向Web的自動化測試工具Watij怎么用問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

標題名稱:面向Web的自動化測試工具Watij怎么用
瀏覽路徑:http://muchs.cn/article30/jejepo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、網(wǎng)站導航、網(wǎng)站營銷、網(wǎng)站收錄、外貿建站、手機網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名