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

發表于:2007-04-28來源:作者:點擊數: 標簽:自動化軟件測試web測試工具對比
針對xxx( java 開發 )軟件進行測試,對winrunner7.0,Rational Robot,Quick Test 進行評測,評測主要包括易用性,擴展性,穩定性等三方面. xxx登陸功能是使用最頻繁的功能,為了把這部分功能讓 測試人員 從 手工測試 中解脫出來,現在進行 自動化測試 實現。

針對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.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97