• <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-11-02 14:56 | 作者: webmaster | 來源: 本站原創 | 查看: 215次 | 進入軟件測試論壇討論

    領測軟件測試網

    QTP編碼小知識 四 對象庫與索引值         軟件測試

    偏向喜歡使用對象庫操作的QTP用戶,在添加對象時候,會出現某幾個子對象,都識別成一個對象,因為里面的所有屬性幾乎是一樣的,很為難的不知道如何解決這個問題,借鑒與描述編程中的索引值index的使用,例如:
    dim Input_Dec
    set Input_Dec=description.create()
    Input_Dec("Html tag").value="Input"
    Input_Dec("Index").value=1
    .....
    如何把index添加進去或者如何把這些描述的東西添加進去?在這里給了大家一個小的html page,大家下載下去后,可以先試試看,然后再看看下文,如何使用Index。自然這個不會識別成一個對象,因為它們的類型有區別,只是特定或者模擬某些情況而已。

    首先,我們添加了其中第一個文本框進去我們的對象庫,里面會有3個屬性,分別是type,name,html tag,但由于文本框類型不同,我們只選擇了他的html tag,并添加進去一個index的索引值,預設為0。

    在這里我們就運行下:
    browser("Browser").Page("Page").WebEdit("EmpNo").Set "111"
    發現成功了,好,再手動修改下index的值為1,刷新下page,運行下代碼。
    這時候讀者可能發現,被填寫的還是原來的第一個webedit?!如何解決這個問題呢,我們只需要手動把智能識別的按鈕“Enable Smart Identification”勾選掉。再運行一次這個代碼,發現成功設置了第2個文本框。

    其次,為什么我們手動添加的index會和我們設置只能識別掛上夠呢?這個是QTP對象庫的機制。在這里就簡單介紹2條給讀者饞下。
    1,對象庫添加對象時候會因為對象的數量或者屬性不同,自主添加能區別的屬性進去。
    驗證步驟:
    打開對象庫,打開一個IE,點擊添加對象,把browser添加進去,你會發現這個browser的什么屬性都沒有(根據實際Object Identification 設置,如果用戶有添加識別屬性是另外一話)。哪么,你打開2IE時候,再做添加對象,添加進來的browser會多出個creationtime的區別標示或者其它。
    2,使用智能識別“Enable Smart Identification”會讓非存在“Object Identification”中的屬性成為QTP識別的第2選擇。
    驗證步驟:
    依次打開2個不同title的Browser,分別是51Testing主頁與一個空page的Browser,添加51主頁進瀏覽器中,并且去掉識別屬性,添加index(不一定指index,其它屬性也可以)。

    1)index設置為0,事實上51Testing的index是1。不要選中“智能識別”。
    msgbox browser("[QuickTest Pro] - 51Testing軟件測").getroproperty("title")
    出現的是“無標題”
    2)選中智能識別。
    msgbox browser("[QuickTest Pro] - 51Testing軟件測").getroproperty("title")
    出現的是“51....”

    最后,如果喜歡研究的讀者可以會想,哪么IE的Creationtime和Index有區別嗎?
    可能有人會說其實就一樣,但其實不一樣,Creationtime的識別是IE的打開順序。但如果是index的區別,他和打開順序沒關系,關系到的是它的被激活順序。
    打個比方:就A,B 2個人,并排一起,他們沒有生日的區別,但是,當B被叫出隊列時候,B就是index 0,A就是index 1。但如果B被叫出隊列,A也被后來叫出隊列,哪么A就是index 0,B就是index 1。在實際大的項目中,對IE的標示,個人不推薦使用index。
    就好像之前有人發帖子寫到得到IE一樣,其實原理就是基于index。
    dim Ie_Dec
    Set Ie_Dec=description.Create()
    Ie_Dec("NativeClass").value = "IEFrame"
    Ie_Dec("NativeClass").RegularExpression = false
    Set child_a=desktop.ChildObjects(Ie_Dec)

    如果沒辦法很好控制IE的操作順序,不建議單獨使用index去標示IE并操作。

    延伸閱讀

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

    TAG: 軟件測試


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>