• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    JWebUnit為Web應用程序創建測試用例的辦法二

    發布: 2007-5-14 13:30 | 作者: E劍 | 來源: 賽迪論壇 | 查看: 181次 | 進入軟件測試論壇討論

    領測軟件測試網
    另一個重要的類是 net.sourceforge.jwebunit.TestContext。它為測試創建上下文?梢杂眠@個類來處理像 cookie、會話和授權之類的信息 

      下載 jWebUnit,在 Eclipse 中配置 jWebUnit  

      JWebUnit 是用純 Java 代碼實現的,所以可以以 JAR 文件的形式獲得它 (請參閱 參考資料,從中獲得下載鏈接)。在完成下載之后,請按以下步驟在 Eclipse 平臺上配置 JWebUnit 庫:  

      把下載的文件 jwebunit-1.2.zip 釋放到臨時目錄中(假設是 C:\temp)! 

      在 Eclipse 中創建新 Java 項目,將其命名為 jWebUnit! 

      右擊 Package Explorer 視圖中的 jWebUnit 項目,然后選擇 Properties! 

      單擊 Java Build Path。單擊 Libraries 標簽中的 Add External JARs! 

      瀏覽到 C:\temp\jwebunit-1.2\lib 目錄,選擇這個目錄中的所有 JAR 文件! 

      單擊 OK! 

      現在可以在 Eclipse 中的 jWebUnit 項目下開發 jWebUnit 測試用例了! 

      構建示例應用程序  

      現在就可以查看 jWebUnit API 的實際應用了。我將帶您研究一個示例應用程序,幫助您更好地理解 jWebUnit 的真正威力。這個應用程序是一個測試用例,用于打開一個 Google 搜索頁面并搜索文本 HttpUnit。應用程序需要測試以下場景:  

      打開 Google 主頁 http://www.google.com! 

      確定該頁包含一個名為 q 的表單元素。(在 Google 的主頁上,名為 q 的文本框是接受用戶查詢輸入的文本框。)應用程序用這個元素輸入搜索參數! 

      在搜索文本框中輸入字符串 HttpUnit Home,并提交表單! 

      獲得結果頁,并確定該頁面包含的鏈接中包含文本 HttpUnit Home! 

      單擊包含文本 HttpUnit Home 的鏈接! 

      現在測試場景已經就緒,可以編寫 Java 應用程序,用 jWebUnit 實現這些需求了! 

       步是聲明一個從 WebTestCase 擴展而來的類,如清單 3 所示:  

      清單 3. 聲明測試用例類

      public class GoogleTest extends WebTestCase {

      static String searchLink = "";

      }

      正如我在前面提到過的,jWebUnit 要求每個測試用例都是從 WebTestCase 中擴展而來的。searchLink 保存傳入的搜索參數。這個值以命令行參數的形式傳遞給測試用例! 

      下一步是聲明入口點 —— main() 方法,如清單 4 所示:  

      清單 4. main() 方法  

      public static void main(String[] args) {

      searchLink = args[0];

      junit.textui.TestRunner.run(new

      TestSuite(GoogleTest.class));

      }

      main() 方法調用 junit.textui.TestRunner.run() 執行 JTest 測試用例。因為需要運行 GoogleTest 測試用例,所以,作為參數傳遞給 run() 方法的測試套件采用 GoogleTest.class 作為參數! 

      接下來,JTest 調用 setUp() 方法來設置基本 URL 和代理,如清單 5 所示:  

      清單 5. 設置  

      public void setUp() {

      getTestContext().setBaseUrl("http://www.google.com");

      getTestContext().setProxyName("proxy.host.com");

      getTestContext().setProxyPort(80);

      }

        清單 5 把基本 URL 設置為 http://www.google.com。這意味著測試用例的啟動是相對于這個 URL 的。下面兩個語句設置連接到 Internet 的代理主機和代理端口。如果是直接連接到 Internet,那么可以忽略代理設置語句! 

      現在開始瀏覽站點并輸入搜索參數。清單 6 顯示了訪問 Web 頁面,然后測試所有場景的代碼: 

      清單 6. 測試所有場景  

      public void testSearch() {

      beginAt("/");

      assertFormElementPresent("q");

      setFormElement("q", "HttpUnit");

      submit("btnG");

      assertLinkPresentWithText(searchLink);

      clickLinkWithText(searchLink);

      }

      清單 6 的代碼連接到基本 URL,并相對于 / 開始瀏覽。然后它斷定頁面中包含一個名為 q 的表單元素 —— q 是 Google 主頁上查詢輸入文本框的名稱。下一條語句用值 HttpUnit 設置名為 q 的文本框! 

      再下一條語言提交表單上名為 btnG 的提交按鈕。(在 Google 的主頁上,名為 btnG 的按鈕是標簽為 Google Search 的按鈕。)表單是在這個對話中提交的,下一頁列出搜索結果。在結果頁面上,代碼首先檢查是否有一個鏈接的文本是 HttpUnit Home。如果該鏈接不存在,那么測試就以 AssertionFailedError 失敗。如果該鏈接存在,則測試執行的下一個操作是單擊鏈接! 

      運行示例應用程序  

      現在把示例應用程序投入使用當中:  

      下載示例應用程序 j-webunitsample.jar ! 

      在一個目錄中解壓縮 j-webunitsample.jar。例如,如果把它釋放到 C:\temp 中,那么就要把源文件和類文件放在 C:\temp\com\jweb\test 中,而 setclasspth.bat 則放在 C:\temp 中! 

      編輯 setclasspath.bat:設置 JAR_BASE 指向包含所有必需 JAR 文件的目錄。例如,如果在 C:\temp 中釋放 jwebunit-1.2.zip 文件,那么將 JAR_BASE 設置為 C:\temp\jwebunit-1.2\lib!

      打開命令行提示符,切換到 C:\temp 目錄! 

      執行 setclasspath.bat。這會設置執行測試用例所需的 CLASSPATH! 

      用命令 java com.jweb.test.GoogleTest "HttpUnit Home" 運行應用程序。

      示例輸出  

      在執行了測試用例之后,會在命令行輸出一個測試用例報告。如果測試失敗,報告看起來如清單 7 中所示:  

      清單 7. 帶有斷言失敗的輸出

      C:\temp>java com.jweb.test.GoogleTest "HttpUnit Hwee"
      .F
      Time: 5.338
      There was 1 failure:
      1) testSearch(com.jweb.test.GoogleTest)junit.
      framework.AssertionFailedError: Link
       with text [HttpUnit Hwee] not found in response.
      at net.sourceforge.jwebunit.WebTester.
      assertLinkPresentWithText(WebTester.java:618)
      at net.sourceforge.jwebunit.WebTestCase.
      assertLinkPresentWithText(WebTestCase.java:244)
      at com.jweb.test.GoogleTest.testSearch(GoogleTest.java:36)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at com.jweb.test.GoogleTest.main(GoogleTest.java:19)
      
      FAILURES!!!
      Tests run: 1, Failures: 1, Errors: 0
       

      正如在清單 7 中可以看到的,可以用 HttpUnit Hwee 作為參數來執行測試用例。這個測試用例遇到斷言的地方會失敗,因為結果頁面中不包含帶有這個文本的鏈接。由此也就產生了junit.framework.AssertionFailedError! 

      清單 8 執行時用 HttpUnit Home 作為參數。測試用例找到一個帶有這個文本的鏈接,所以測試通過了:  

      清單 8. 成功測試的輸出  

      C:\temp>java com.jweb.test.GoogleTest "HttpUnit Home"

      Time: 6.991  

      OK (1 test)  

      結束語  

      本文通過討論 jWebUnit 框架的一些突出特性和最重要的類,介紹如何用它創建簡潔的測試用例,讓您對 jWebUnit 框架有一個認識。jWebUnit 還有更多特性可以用在測試用例中。它支持測試 Web 頁面中的鏈接行數?梢詫ψ址、表或者帶有指定標簽的表單輸入元素是否存在于頁面上進行斷言。此外,jWebUnit 還可以處理 cookie (例如斷言存在某個 cookie、刪除 cookie 等。)測試可以對某個文本之后出現的特定文本的鏈接進行單擊。 如果想為 Web 應用程序構建快而有效的測試用例,jWebUnit可能是您最好的朋友。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    軟件測試技術文章排行榜
    軟件測試技術分類最新內容
    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>