<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

    QTP中使用自定義vbs類

     發(fā)現(xiàn)直接在resource中加載含有calss的vbs文件,QTP無法識(shí)別類,導(dǎo)致腳本中無法new類對(duì)象。
      解決辦法有四種:
      1、直接在action腳本中定義類,然后action中任何地方都可以實(shí)例化類
      2、用executefile引入類定義文件,然后action中任何地方都可以實(shí)例化類
      3、在function lib中定義類,并實(shí)例化類,然后再action中直接使用類實(shí)例
      4、在function lib中定義類,并定義一個(gè)實(shí)例化類的函數(shù),然后再action中調(diào)用該函數(shù)對(duì)類進(jìn)行實(shí)例化
      補(bǔ)充:第四種實(shí)現(xiàn)方法如下:
      把vbs文件加載到Resources中后,我用以下方法繞過QTP不識(shí)別導(dǎo)入的vbs文件中的類的問題。
      在放置class(類)的vbs文件中,放置以下函數(shù):
    ------------------------------------------------------------------------------------------------------------------
    '
    '* 功能:由于QTP不識(shí)別導(dǎo)入的VBS文件中的類,因此定義此函數(shù)來返回相應(yīng)的對(duì)象
    '* 輸入?yún)?shù):className  :要建立對(duì)象的類名
    '* 返回值:返回類對(duì)象
    '* 編寫人:  chenyb
    '* 編寫日期:2008-10-16
    '* 其他說明:以下只是方法,根據(jù)需要再擴(kuò)展
    '
    Public Function newClass(className)
    Dim strSentence,obj
    strSentence = strSentence & "set obj = New " & className '創(chuàng)建對(duì)象
    Execute strSentence  '執(zhí)行字符串語句
    Set newClass = obj   '返回對(duì)象
    End Function
      參考QTP下vbs偽類構(gòu)造器的設(shè)計(jì):
      有一段時(shí)間沒上博客了,不過博客還是不能拖呢,每每在我快要放棄的時(shí)候總會(huì)有許多網(wǎng)友在告訴我該更新了,我們等著你的講座,雖然講座寫到后來已經(jīng)有些疲倦,但有了你們的支持,我還會(huì)一直繼續(xù),講座還會(huì)一直繼續(xù)。
      進(jìn)入正題,今天要講的內(nèi)容與VBS類關(guān)聯(lián)比較密切,在看本次講座之前建議大家首先熟悉一下類的組成, 這樣對(duì)于學(xué)習(xí)本次講座內(nèi)容會(huì)比較輕松。如果平時(shí)在自動(dòng)化測(cè)試過程中經(jīng)常使用類的朋友應(yīng)該會(huì)清楚,在Resources中引用帶有類的vbs函數(shù)庫之后,是不可以直接在QTP腳本編輯器中直接進(jìn)行類的初始化的。具體我們來看下例子。
      1.首先我們編寫一個(gè)vbs函數(shù)庫,腳本如下:
    Class ExcelClass
    Sub t1()
    MsgBox "t1"
    End Sub
    Sub t2()
    MsgBox "t2"
    End Sub
    End Class
      2.在QTP的File --> Settings --> Resources中引用此函數(shù)庫


      3.我們知道創(chuàng)建一個(gè)類的實(shí)例方法是通過以下方式來進(jìn)行的
      Set 實(shí)例名 = New 類名
      此時(shí)如果直接在QTP中進(jìn)行創(chuàng)建類的話會(huì)直接報(bào)錯(cuò):
      Set eom  = new ExcelClass
      eom.t1
      4.那么對(duì)于以上這種情況,我們一般所采用的方式是在函數(shù)庫中建立一個(gè)函數(shù),讓此函數(shù)返回這個(gè)類的實(shí)例化。
    Class ExcelClass
    Sub t1()
    MsgBox "t1"
    End Sub
    Sub t2()
    MsgBox "t2"
    End Sub
    End Class
    '定義ExcelClass的無參構(gòu)造
    Function NewExcelClass
    Set NewExcelClass = new ExcelClass
    End Function
      5. 接著在QTP腳本編輯區(qū)中直接把這個(gè)函數(shù)返回就可以使用了
    Set eom  = NewExcelClass
    eom.t1
      思考:
      是否可以按照如圖所示的方式把New ExcelClass作為函數(shù)名進(jìn)行編寫呢,這樣我們就可以直接在QTP腳本區(qū)中進(jìn)行new一個(gè)類出來,是不是更加直觀呢,這一塊我們會(huì)留到下一講進(jìn)行講解。
      總結(jié):
      這一講內(nèi)容比較基礎(chǔ),主要還是為了照顧一些新人,下一講我們會(huì)繼續(xù)深入講解類構(gòu)造器,主要會(huì)涉及到帶參構(gòu)造器的設(shè)計(jì)模式,請(qǐng)大家期待。

    posted on 2014-01-20 10:10 順其自然EVO 閱讀(447) 評(píng)論(0)  編輯  收藏 所屬分類: qtp

    <2014年1月>
    2930311234
    567891011
    12131415161718
    19202122232425
    2627282930311
    2345678

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 免费国产污网站在线观看15 | 四虎成人精品在永久免费| 亚洲风情亚Aⅴ在线发布| 一级特黄色毛片免费看| 亚洲人成精品久久久久| 久久成人国产精品免费软件| 亚洲人成www在线播放| 亚洲AV无码专区日韩| 最近2019免费中文字幕6| 亚洲av无一区二区三区| 亚洲精品蜜桃久久久久久| 青青久在线视频免费观看| 免费精品视频在线| 91嫩草私人成人亚洲影院| 国产成人3p视频免费观看| 免费看国产精品3a黄的视频| 精品在线免费视频| 久久精品国产亚洲av日韩| 亚洲成aⅴ人片久青草影院| 足恋玩丝袜脚视频免费网站| 国产曰批免费视频播放免费s| 校园亚洲春色另类小说合集| 久久精品国产亚洲av麻| 免费看国产一级特黄aa大片| 性xxxx视频免费播放直播| 杨幂最新免费特级毛片| 亚洲日韩在线视频| 久久精品国产亚洲一区二区| 免费看国产一级特黄aa大片| 97在线线免费观看视频在线观看| 97在线免费视频| 久久人午夜亚洲精品无码区| 久久狠狠高潮亚洲精品| 色婷婷7777免费视频在线观看| 新最免费影视大全在线播放| 国产精品成人免费一区二区 | 午夜免费福利片观看| 国产亚洲精品国产福利在线观看 | 亚洲国产精品无码久久久秋霞2| 成人毛片18女人毛片免费96| 久久精品国产免费一区|