QTP識別和操作對象的原理

發表于:2008-09-19來源:作者:點擊數: 標簽:qtpQTP對象原理
QTP 為用戶提供了兩種操作對象的接口,一種就是對象的封裝接口,另一種是對象的自身接口。 對象的自身接口是對象控件本身的接口,只要做過軟件 開發 ,使用過控件的人應該很清楚。 對象的封裝接口是QTP為對象封裝的另一層接口,它是QTP通過調用對象的自身接
 QTP為用戶提供了兩種操作對象的接口,一種就是對象的封裝接口,另一種是對象的自身接口。
    對象的自身接口是對象控件本身的接口,只要做過軟件開發,使用過控件的人應該很清楚。
    對象的封裝接口是QTP為對象封裝的另一層接口,它是QTP通過調用對象的自身接口來實現的。


    兩種接口的腳本書寫格式的差別在于:
    自身接口需要在對象名后面加object再加屬性名或方法名,
    封裝接口就不用在對象名后面加object。

    比如操作JavaEdit對象,通過QTP封裝的封裝接口,腳本如下:
    設置JavaEdit的內容:
     JavaDialog("Add NE").JavaEdit("NE Name").Set "NE1"
    讀取JavaEdit的內容:
     msgbox JavaDialog("Add NE").JavaEdit("NE Name").GetROProperty("value")

    如果通過JavaEdit的自身接口,腳本如下:
    設置JavaEdit的內容:
    JavaDialog("Add NE").JavaEdit("NE Name").object.setText("NE1")
    讀取JavaEdit的內容:
    Msgbox JavaDialog("Add NE").JavaEdit("NE Name").object.getText()

    QTP執行JavaEdit().Set語句時,是通過執行JavaEdit().object.setText()來實現的。
    QTP執行JavaEdit().GetROProperty("value"),是通過執行JavaEdit().object.getText()來實現的。
    JavaEdit對象的封裝接口Set()和GetROProperty("value"),是QTP封裝JavaEdit對象的自身接口setText()和getText()而得來的。

    對象的封裝接口是QTP使用的缺省接口,我們錄制出來的腳本都是使用封裝接口,大家用的也都是封裝接口。
    但是封裝接口不如自身接口豐富,因為QTP只是封裝了部分常用的自身接口嘛。
    所以我們在需要時,可以繞過封裝接口,直接調用對象的自身接口。
    不過有些自身接口不夠穩定,在實踐中偶爾會出現問題,但是概率很少。
   封裝接口有相應功能的話,就盡量用封裝接口吧!

  
    理解了封裝接口和自身接口的原理,我們就可以更加靈活的操作對象了。

    但是我們怎么知道對象都有哪些封裝接口和自身接口呢?
    其實很簡單,用對象查看器(Object Spy)查看對象,在查看窗口里有列出這些接口,包括屬性和方法。
    窗口中間有選擇欄讓你選擇Run-time Object或者Test Object,
    當你選擇Run-time Object時,它顯示的就是對象的自身接口(自身的屬性和方法)
    當你選擇Test Object時,它顯示的就是對象的封裝接口(封裝的屬性和方法)

    明白了這些,你還等什么呢?快拿起對象查看器,看看對象都有哪些封裝接口和自身接口,肆意的操作它,玩弄它吧!

    比如執行
    JavaDialog("Add NE").JavaEdit("NE Name").object.setVisible(false)
     哈哈,你的JavaEdit對象就當場消失不見了?。?!

原文轉自:http://www.anti-gravitydesign.com

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