paulwong

          Watij入門

          Watij介紹

          Javadoc API for Watij

          http://watij.sourceforge.net/docs/api/index.html?watij/IE.html

          第三章 Watij環境設置

          3.1 Watij環境要求

          l Watij 3.2.1

          l JDK 1.5

          l Java IDE(本文中使用Eclipse

          3.2 Watij安裝及設置

          l 下載軟件包

          Watij 3.2.1

          下載地址:http://sourceforge.net/project/showfiles.php?group_id=165206

          JDK 1.5

          下載地址:http://java.sun.com/javase/downloads/index_jdk5.jsp

          l 安裝&配置

          Ø 安裝JDK1.5

          Ø 解壓watij_release_3.2.1.zip

          Ø 拷貝watij_release_3.2.1/ jniwrap.dllC:/windows/system32/;

          Ø 配置Eclipse的編譯器為JDK1.5;

          依次打開Window->Preferences->Java->Compiler,設置“Compiler compliance level”為5.0

          3.2-1 配置JDK

          l 新建工程

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

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

          Ø 在“Java Settings”中選擇“Libraries”選項卡,點擊“Add External JARs”,如圖3.2-2所示

          Ø 添加“watij.jar”和lib目錄下的所有jar,點擊“Finish”,如圖3.2-2所示

          3.2-2 添加Jar包到classpath

          第四章 Watij Examples

          4.1 HP Web Tours

          4.1.1 顯示登錄頁面

          這部分主要描述如何打開IE瀏覽器、IE導航、IE窗口的設置與調整。

          本次Web自動化測試的例子使用LoadRunner中自帶的HP Web Tours

          如沒有安裝LoadRunner,可在其他已安裝過的機器上拷貝X:/Mercury/LoadRunner/WebTours目錄,執行“StartServer.bat”以啟動Web Server(沒有試驗過,理論上可以);或者使用其他網址替換掉4.1.1中的http://127.0.0.1:1080/WebTours/”來練習,但是4.1.2及以后的例子將不再適用。 下面就開始Watij的自動化測試之旅了。

          1. 啟動Web Server(圖4.1-1)。本例中使用LoadRunner的實例HP Tours作為本次WEB自動化測試的對象。

          4.1-1 啟動Web Server

           

          2. 打開Eclipse,新建一個“Junit Test Case”(圖4.1-2),輸入“Name”為“HpTours”(圖4.1-3),點擊“Finish

          4.1-2 新建Junit Test Case

           

          4.1-3 輸入TestCaseName


          3.
          輸入以下代碼:

          import junit.framework.TestCase;
          import watij.runtime.ie.IE;
          import static watij.finders.SymbolFactory.*;

          public class HpTours extends TestCase {
          public void testHpTours () throws Exception {
          IE ie 
          = new IE();

          //打開 IE 瀏覽器
          ie.start();
          //轉到 “http://127.0.0.1:1080/WebTours/”
          ie.goTo("http://127.0.0.1:1080/WebTours/");
          }

          }


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

          4.1-4 運行


          5.
          執行結果:執行過程沒有錯誤時,JUnit執行狀態顯示綠色(圖4.1-5),并且打開HP Web Tours的登錄頁面(圖4.1-6)。

          4.1-5 JUnit執行狀態

          4.1-6 登錄頁面

          6. 代碼解釋:


          1)
          在打開IE瀏覽器之前,需要實例化一個IE對象:

          IE ie = new IE();


          2) 使用start方法,打開新的IE瀏覽器:

          IE ie = new IE();
          ie.start();

           

          也可以打開瀏覽器后轉到某個URL

          IE ie = new IE();
          ie.start(
          "http://google.com");


          3)
          IE導航的幾種方法:

          ie.goTo("http://www.baidu.com"); //轉到www.baidu.com
          ie.navigate("http://www.google.com"); //轉到www.google.com,同goTo
          ie.forward(); //轉到歷史列表中的前一個地址
          ie.back(); //轉到歷史列表中的后一個地址

           


          4)
          IE窗口設置、調整:

           

           

          ie.bringToFront(); //將IE窗口置為最前
          ie.focus(); //設置為當前焦點
          ie.maximize(); //最大化窗口
          ie.minimize(); //最小化窗口
          ie.restore(); //重置窗口為之前的狀態
          ie.fullScreen(true); //turns the window's full screen mode on
          ie.fullScreen(false); //turns the window's screen mode back to normal
          ie.theatreMode(true); //turns the window's theatre mode on
          ie.theatreMode(false); //turns the window's screen mode back to normal

          ie.visible(
          false); //隱藏窗口
          ie.visible(true); //顯示窗口
          ie.left(100); //調整窗口位置
          ie.top(200); //調整窗口位置


          4.1.2 用戶登錄測試

          模擬用戶輸入;登錄成功后,驗證提示信息及HTML元素數量。

          啟動WEB服務器及新建JUnit Test Case步驟,請參考4.1.1

          1. 輸入以下代碼:

          import watij.runtime.ie.IE;
          import junit.framework.TestCase;
          import static watij.finders.SymbolFactory.*;

          public class LoginWithRightUsernamePassword extends TestCase {

          public void testLoginWebTours () throws Exception {

          int button_id;
          int button_numbers = 4;
          String[] button_src 
          = new String[button_numbers];

          IE ie 
          = new IE();
          ie.start();
          ie.bringToFront();
          ie.goTo(
          "http://127.0.0.1:1080/WebTours");
          ie.frame(
          "body").frame("navbar").textField(name, "username").set("jojo");
          ie.frame(
          "body").frame("navbar").textField(name, "password").set("bean");
          ie.frame(
          "body").frame("navbar").button(value, "Login").click();

          // Verify user "jojo" has logged in and four buttons displayed 
          assertTrue( ie.frame("body").frame("info").containsText("jojo") );

          for (button_id=0; button_id<button_numbers; button_id++{
          button_src[button_id] 
          = ie.frame("body").frame("navbar").images().get(button_id).src();
          }

          // Capture current Screen
          ie.focus();
          ie.maximize();
          ie.screenCapture(
          "d://login_PASSED.png");
          }

          }



          2.代碼解釋:

          1) 輸入用戶名、密碼:

          Watij根據HTML標簽提供的文字輸入列的nameid或其他屬性來設置其值。textfieldHTML代碼形如:

           

          <input type=text name=username value='' size=14 maxlength=14>

          <input type=password name=password value='' size=14 maxlength=14>


          輸入用戶名、密碼,可以使用如下方法:

          ie.textField(name, “username”).set(“jojo”);
          ie.textField(name, “password”).set(“bean”);


          獲取某個textfield的值,使用:

          ie.textField(name, “username”).get();
          ie.textField(name, “password”).get();


          2) 點擊Login,登錄:

          Watijbutton支持的HTML對象包括:<input> 標簽typeimagesubmitbuttonreset

          <input type=image name=login value=Login alt=Login border=1 src='/WebTours/images/mer_login.gif'>

          <input type="submit" id="SubmitLoginBTN" value="登錄(L)" accesskey="L" class="loginSubmit" />

          <input type="button" value="登錄" name="btnSubmit">


          使用buttonclick方法來模擬用戶點擊操作:

          ie.button(value, “Login”).click();
          ie.button(id, “SubmitLoginBTN”).click();
          ie.button(name, “btnSubmit”).click();


          3) 驗證用戶是否已經登錄:

          驗證該用戶是否已經登錄,可以通過提示信息是否包含該用戶的名字以及左邊框架中包含四個buttons來驗證。驗證HTML body中是否包含某些文本,使用如下方法:

          ie.containsText(“jojo”);


          它的返回值是TrueFalse,可以使用斷言來驗證該用戶是否已登錄:

          assertTrue( ie.containsText(“jojo”) );


          4) 截圖:

          最后,要保存一下測試結果,即將登錄后窗口截圖。如下代碼,會將當前屏幕截圖保存到d:/login_PASSED.png

          ie.screenCapture(“d://login_PASSED.png”);

          posted on 2012-01-03 22:01 paulwong 閱讀(2358) 評論(0)  編輯  收藏 所屬分類: TESTIGN

          主站蜘蛛池模板: 婺源县| 蓬安县| 呼玛县| 遂溪县| 大邑县| 建阳市| 蓝山县| 安塞县| 白城市| 桂林市| 天气| 东乌珠穆沁旗| 北京市| 论坛| 东光县| 扎鲁特旗| 南城县| 偃师市| 武汉市| 余姚市| 克什克腾旗| 集安市| 崇明县| 沙湾县| 武隆县| 康平县| 盈江县| 长乐市| 泽普县| 黔西县| 双鸭山市| 青海省| 北海市| 娄烦县| 渑池县| 榕江县| 聂拉木县| 连南| 黔南| 安泽县| 枝江市|