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

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

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

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

    Web測試工具對比--自動化軟件測試

    發布: 2007-4-28 20:17 | 作者: piaocl | 來源: 51testing | 查看: 195次 | 進入軟件測試論壇討論

    領測軟件測試網

    針對xxx(java開發)軟件進行測試,對winrunner7.0,Rational Robot,Quick Test 進行評測,評測主要包括易用性,擴展性,穩定性等三方面.

             xxx登陸功能是使用最頻繁的功能,為了把這部分功能讓測試人員手工測試中解脫出來,現在進行自動化測試實現。


        首先,進行錄制回放登陸操作目的是檢驗三種測試工具的易用性(功能前大與否)程度:


    操作的步驟 : 啟動ie,輸入地址,

    輸入用戶名密碼,

    登陸。

     

    WinRunner 7.0


    1.       啟動WinRunner 7.0

    2.       錄制上邊的操作步驟

    腳本如下

    點任務欄,啟動ie

    # Shell_TrayWnd
    set_window ("Shell_TrayWnd", 3);
    toolbar_button_press ("ToolbarWindow32_0", "T/ R¨  Internet Explorer mO ‰È Vh "); # Button Number 0;
    地址欄輸入地址
    # Browser Main Window_1
    set_window ("Browser Main Window_1", 14);
    edit_set ("browser_main_edit_location", "

     

    輸入賬號密碼

    win_type ("html_frame_2","adminjetspeed");
    win_mouse_click ("html_frame_2", 566, 33);
    win_check_gui("html_frame_2", "list1.ckl", "gui1", 1);

        錄制完成后的腳本如上,測試回放發現粉色字體受環境影響很大,所以需要對腳本進行優化,改動后的腳本如下

     

    啟動ie,并且到http://192.168.1.42的地址

      web_browser_invoke(IE,"

     

      win_mouse_click ("html_frame_2", 402, 36);
      win_type ("html_frame_2","adminjetspeed");
      win_mouse_click ("html_frame_2", 566, 33);
      win_check_gui("html_frame_2", "list1.ckl", "gui1", 1);

     

    替換腳本為一個函數 web_browser_invoke(IE,"

     

     

    3.回放 測試通過

    替換原因 一.上邊粉色部分腳本隨機性較大,如果腳本移植到其他測試機器上,由于測試環境的改變(假如任務欄沒有快捷方式圖標,粉色腳本將無法回放下去),導致無法執行。替換為ie啟動函數,不管ie安裝在任何地方可以直接啟動。

             二.進行腳本優化,避免錯誤,沒有修改前的腳本太冗長,修改后腳本減少,功能穩定。

     

     

    Rational Robot:

     

    1.    啟動robot

    2.    錄制操作

    腳本如下:

     

    Sub Main

        Dim Result As Integer

        Dim Temp as Integer

        //啟動ie,連接到http://192.168.1.42

        StartBrowser "

        //讓ie窗口獲得焦點

        Window SetContext, "WindowTag=WEBBrowser", ""

        //打開新的頁面

    Browser NewPage,"HTMLTitle=Dynaweb EPS 2003企業門戶服務器",""

    //點用戶名文本框

        EditBox Click, "Name=username", "Coords=35,12"

        //輸入用戶名密碼

        InputKeys "admin{TAB}jetspeed"

        // 點登陸

        PushButton Click, "Name=submit"

        //進入新頁面

    Browser NewPage,"HTMLTitle=Dynaweb EPS 2003企業門戶服務器",""

    // 點退出連接

        HTMLImage Click, "Index=7", "Coords=11,7"

        //關閉ie

    Window CloseWin, "", ""

     

    End Sub

     

    3.回放 測試通過

     

    Quick Test 6.5

     

    1.    啟動quick test

    2.    錄制操作 腳本如下

     

    //打開browser對象 object (page是個對象)方法的object(webedit也是個方法)的set方法,意思就是設置文本框username,內容為admin

    Browser("Dynaweb EPS").Page("Dynaweb EPS_2").WebEdit("username").Set "admin"

    //同上,這回調用的是setsecure方法,作用是將password文本框中的文本進行加密
    Browser("Dynaweb EPS").Page("Dynaweb EPS_2").WebEdit("password").SetSecure "3fe6931be2a331101ac0bbbc"

    //調用對象webbutton對象的click方法

    Browser("Dynaweb EPS").Page("Dynaweb EPS_2").WebButton("v{ _U ").Click

    //調用Image對象的click方法,目的退出

    Browser("Dynaweb EPS").Page("Dynaweb EPS_3").Image("T_ S y R 梑 g h_ {~ ").Click
    'Browser("Dynaweb EPS").Page("Dynaweb EPS_3").Link("2333").Click
    Browser("Dynaweb EPS").Page("Dynaweb EPS_4").Image("logout").Click

    //等待頁面操作完畢
    Browser("Dynaweb EPS").Page("Dynaweb EPS_5").Sync

    易用性總結:

    1.    操作簡單但各個腳本都需要進行二次開發

    2.    腳本語言的異同:

    Winrunner 腳本支持c語言

    Robot腳本支持vb腳本(可以擴展腳本語言支持 其他如 perl,java等語言)使測試人員選擇度很大

    Quick test腳本支持vbScript腳本

    一.  學習腳本:robot和quick test為vb語言,容易掌握,winrunner腳本為c語言,掌握有難度,短期內提高對測試人員要求比較高。

    二.  調試腳本:robot腳本支持step,animate等調式方式,winrunner和quick test支持step等幾種調試方式,相互比較來看robot調試功能強大,比較直觀。

    三.  測試環境兼容性

    改變測試環境配置,將ie打開后變化窗口大小,關閉,重新運行測試腳本。

     

    Winrunner腳本回放失敗,其他兩種工具測試回放成功,對比發現由于winrunner腳本依靠坐標來確認對象位置,而robot和quick test是以對象來確認。穩定性上后兩種測試工具更加占優。

    如:winrunner腳本中函數

    win_mouse_click ("html_frame_2", 566, 33)以坐標來記錄點擊位置,當對象位置改變,腳本將無法執行。

    針對winrunner有兩種解決對象識別的方法:

    1.坐標固定:啟動ie后,使ie窗口最大化,窗口坐標得到固定,修改腳本后如下

      web_browser_invoke(IE,"

    //讓窗口最大化,坐標固定了,這里不考慮機器分辨率的問題
    win_max("Browser main Window");

      win_mouse_click ("html_frame_2", 402, 36);
    win_type ("html_frame_2","adminjetspeed");
    win_mouse_click ("html_frame_2", 566, 33);
    win_check_gui("html_frame_2", "list1.ckl", "gui1", 1);

    錄制的腳本基本回放通過(這里沒有考慮分辨率的情況,否則腳本開發難度增大。)這種方法不是根本解決方法。

    2.讓winrunner認識對象

      解決方法是開發dll讓winrunner引用,windows提供了mshtml對象,借用他可以實現winrunner認識對象。這里我用word的開發環境簡單實現這個功能動態添加用戶名密碼(可以改寫編譯成dll給winrunner引用)。

    主要代碼(vb版本):

    思路:ie加載網頁后,枚舉所有元素對象,找到要找的元素,然后賦值。這里是找username和password文本框,把用戶名密碼添加進去。

     

             Dim hdoc As HTMLDocument

             Dim eleColl As IHTMLElementCollection

             Dim sElement As IHTMLElement

             Dim i As Integer

                

    Set hdoc = WebBrowser1.Document

             Set eleColl = hdoc.all

      

              For Each sElement In eleColl

         

                 If sElement.isTextEdit Then

                        If sElement.outerHTML = "" Then

                                 sElement.setAttribute "value", "admin"

                       End If

                       

                       If sElement.outerHTML = "" Then

                                 sElement.setAttribute "value", "jetspeed"

                       End If

                  End If

        

             Next

     

    同理可以實現winrunner識別網頁任何對象。(自己開發測試工具)

    延伸閱讀

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

    TAG: 測試工具


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系: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>