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

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

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

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

    軟件測試中淺談QTP描述性編程(含實例)

    發布: 2010-11-15 11:00 | 作者: 網絡轉載 | 來源: 領測軟件測試網采編 | 查看: 284次 | 進入軟件測試論壇討論

    領測軟件測試網

    軟件測試中淺談QTP描述性編程(含實例)

    Mercury QuickTest 企業級自動化測試工具!   目前已經被惠普收購,正式名字為HP QuickTest Professional software ,最新的版本為HP QuickTest Professional 10.0.   HP QuickTest Professional 提供符合所有主要應用軟件環境的功能測試回歸測試的自動化。采用關鍵字驅動的理念已簡化測試用例的創建和維護。它讓用戶可以直接錄制屏幕上的操作流程,自動生成功能測試或者回歸測試用例。專業的測試者也可以通過提供的內置腳本和調試環境來取得對測試和對象屬性的完全控制。

     一開始接觸QTP太強了,可以錄制回放啊?梢韵袷褂娩浺魴C一樣,可以一遍又一遍的回放錄音內容。有了QTP,我們就不用一遍又一遍的測試了。
      但慢慢發現,QTP如果一遍又一遍的運行程序,需要一個對象倉庫的東東。在錄制的時候,QTP將測試過程中所使用到得軟件對象都錄制到對象倉庫中。再我們使用的時候,只需要給出對象的名稱,有這個名稱就可以在對象倉庫中找到該對象,自然而然可以操作這個對象。但有一個問題,就是對象倉庫中的對象必須和正在運行的軟件的對象一摸一樣才行。

      但實際在軟件開發過程中,經常要添加新功能,完善已經實現的功能。在這個過程,新版本發布時軟件功能變了,可能有的時候只是位置變了。這種情況下可惡的事情發生了,QTP就不認識新發布的軟件。最壞的話,以前錄制的腳本需要重新錄制。太悲慘了。

      其實下面這個例子特別和對象倉庫識別對象的過程特別像:

      假設你認識一個好朋友名字假設叫小i,我們腦子里面會有這個朋友面貌、性格、身高等。過了一段時間,這個小i對自己各個方面都非常不滿意,就去全身全方位整容了。面貌變了,變漂亮了;性格也變了,變溫柔;,身高也變了,變高了。這個時候,我們再和小i面對面的時候,我們把自己的大腦記憶拿出來,和站在面前的小i對比,發現我們已經不認識她了。我們就不敢過去拉她手了。

      這里面有個類比關系:

      小i可以認為是被測試的軟件。

      我們的大腦記憶可以認為是對象倉庫。

      整容前的小i可以認為是被測試軟件的舊版本。

      整容后的小i可以認為是被測試軟件的新版本。

      拉手可以看成對被測軟件的操作。

      我們人是如此,所以QTP也是如此。所以我們大腦需要重新存儲小i的面貌、性格、身高。哎又占了我們很多的大腦空間,悲慘啊。

      哎,這讓我想起了前段時間看過一部韓國電影《美女的煩惱》,一個唱歌超好聽的丑女+肥女,為了追求自己的幸福,所以做了全面的整容,整容后變得漂亮無比。有一次進了公安局,讓她好朋友保釋,最要好朋友進了公安局竟然沒有認出她來。最后這個整容后的美女把自己的身份證拿了出來給朋友看,最終朋友才相信了眼前的事實。

      對啊,有標示人的身份可以用身份證啊。無論朋友樣貌、身高、性格怎么變,身份證暫時是不會變的。那以后我們可以少浪費點腦細胞,別記住朋友面貌了,別記住她前天穿了藍色的衣服,昨天換了黑色的褲子,今天帶了綠色的帽子。都別記了。朋友見面,亮出身份證就可以了。

      QTP發現對象倉庫這種機制的不靈活,所以自己增加了另外一種比較靈活的方法。稱之為描述性編程。

      通過描述性的編程,只要通過能夠標示軟件對象的關鍵屬性(類似前面所說的身份證識別朋友的方法),就可以知道是操縱的那個對象,然后就可以對該對象操作了。

      下面舉了描述性編程一個例子,使用QTP實現對計算器1-10的累加和,并把結果輸出到Excel表中。

      注意:本例子直接拷貝到QTP中就可以運行,但只適用簡體中文版windows系統。

      注意:例子比較簡單,所以就沒寫注釋。只是拋磚引玉。


    Set WshShell=createobject("Wscript.shell")
    Set Wshexec=Wshshell.Exec("%SystemRoot%\system32\calc.exe")
    Set desc=description.Create
    Dim i
    For i=1 to 10
    esc("text").value=i
    If desc("text").value=10 Then
    Window("text:=計算器").WinButton("text:=1").Click
    desc("text").value=i-10
    Window("text:=計算器").WinButton(desc).Click
    else
    Window("text:=計算器").WinButton(desc).Click
    End If
    Window("text:=計算器").WinButton("window id:=92").Click
    Next
    sum=Window("text:=計算器").WinButton("window id:=403").ToString

    time1=Now()
    Variable=DataTable.AddSheet ("MySheet").AddParameter(sum,time1)
    wait 10
    Wshexec.Terminate()

    延伸閱讀

    文章來源于領測軟件測試網 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>