• <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對象的識別與操作

    發表于:2009-05-25來源:作者:點擊數: 標簽:軟件測試工具qtpQTP對象
    一、 QTP 識別對象的原理 QTP里的對象有兩個概念,一個是TestObject(簡稱TO),一個是RuntimeObject(簡稱RO)。 這兩個概念從字面上不大好理解,也容易混淆。 但從實際作用上來看,應該說TO就是是倉庫文件里定義的倉庫對象,RO是被 測試 軟件的實際對象。 Q
    一、QTP識別對象的原理
      QTP里的對象有兩個概念,一個是Test Object(簡稱TO),一個是Runtime Object(簡稱RO)。
      這兩個概念從字面上不大好理解,也容易混淆。
      但從實際作用上來看,應該說TO就是是倉庫文件里定義的倉庫對象,RO是被測試軟件的實際對象。
      QTP識別對象,一般是要求先在對象倉庫文件里定義倉庫對象,里面存有實際對象的特征屬性的值。
      然后在運行的時候,QTP會根據腳本里的對象名字,在對象倉庫里找到對應的倉庫對象,
      接著根據倉庫對象的特征屬性描述,在被測試軟件里搜索找到相匹配的實際對象,最后就可以對實際對象進行操作了。
      倉庫對象TO一般在錄制/編寫腳本時加入倉庫文件,它不僅可以在錄制編寫時進行修改,
      也可以在運行過程中進行動態修改,以匹配實際對象。

    和TO、RO相關的幾個函數有:
      GetTOProperty():取得倉庫對象的某個屬性的值
      GetTOProperties():取得倉庫對象的所有屬性的值
      SetTOProperty():設置倉庫對象的某個屬性的值
      GetROProperty():取得實際對象的某個屬性的值

      理解了TO的含義,你就可以自由的用SetTOProperty()定義TO,以靈活的操作RO

      比如有個測試任務,窗口上有很多待檢查的記錄,每條記錄右邊都有一個Check按鈕,用來檢查各條記錄。
      記錄個數不定,所以Check按鈕個數也就不定,只有一個Edit顯示記錄個數。
      我們要對每條記錄進行檢查,也就是要點擊每個Check按鈕。
      但是Check按鈕個數不定,不好錄制,而且個數可能也很多(上百個),即使能一一錄制,那也很麻煩。

      那我有一個好辦法,只錄制一個按鈕對象,它設有兩個特征屬性 label=OK, index=0
      然后用下面的腳本,就可以完成測試


    buttonNum = CInt(JavaWindow(\"Test\").JavaEdit(\"Record Num\").GetROProperty(\"value\"))
    For buttonIndex = 0 to buttonNum - 1
      JavaWindow(\"Test\").JavaButton(\"Check\").SetTOProperty(\"index\", buttonIndex)
      JavaWindow(\"Test\").JavaButton(\"Check\").Click
    Next

      或者窗口上有New、Modify、Delete、Check等好幾個按鈕,要把這幾個按鈕一一按過去
      我在對象倉庫里只設置一個按鈕對象AnyButton,label特征屬性值填任意值,然后用下面腳本執行測試


    JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"New\")
    JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click

    JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Modify\")
    JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click

    JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Delete\")
    JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click

    JavaWindow(\"Test\").JavaButton(\"AnyButton\").SetTOProperty(\"label\", \"Check\")
    JavaWindow(\"Test\").JavaButton(\"AnyButton\").Click


      另外,QTP還支持腳本描述的方法來定義和訪問對象,即不需要在倉庫里定義,也能訪問和操作實際對象

      如上面兩個任務,可以如下實現
      1. 不需要在倉庫里定義Check按鈕對象,直接用下面腳本來實現測試

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>