51Testing软件测试论坛

标题: 从QC自动启动qtp时自动加载插件的方法如何使用? [打印本页]

作者: icefire001    时间: 2008-2-18 11:12
标题: 从QC自动启动qtp时自动加载插件的方法如何使用?
从QC自动启动qtp如何自动加载插件的方法
'此函数用于加载指定Test所有的插件,若要运行Test可自己加个qtApp.Test.Run
Function Load_Addins(testPath)
        Dim qtApp 'As QuickTest.Application
        Dim blnNeedChangeAddins
        Dim arrTestAddins
        Set qtApp = CreateObject("QuickTest.Application")
        arrTestAddins = qtApp.GetAssociatedAddinsForTest(testPath)
        blnNeedChangeAddins = False
        For Each testAddin In arrTestAddins
            If qtApp.Addins(testAddin).Status <> "Active" Then
                blnNeedChangeAddins = True
                Exit For
            End If
        Next
        If qtApp.Launched And blnNeedChangeAddins Then
             qtApp.Quit
        End If
        If blnNeedChangeAddins Then
            Dim blnActivateOK
            blnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescrīption)
            If Not blnActivateOK Then
                Call ErrorLog(errorDescrīption)  '这里是调用自己的日志函数,可替换为自己的或注释掉
                  Wscrīpt.Quit
            End If
        End If
        If Not qtApp.Launched Then
            qtApp.Launch
        End If
        qtApp.Visible = True
        qtApp.Open testPath
'可在此加入qtApp.Test.Run来运行Test
        Set qtApp = Nothing
End Function
问题:1、这个方法是在QC中调用还是在QTP脚本中调用?
           2、如何调用?

[ 本帖最后由 icefire001 于 2008-2-18 11:16 编辑 ]
作者: xiaonan    时间: 2008-2-25 15:57
这是个QTP自动化模型,可以通过其他途径,如:自己写一段程序来启动QTP,加载对象,加载测试脚本,来进行测试.你可以看看QTP自动化模型的介绍.
作者: hsjzfling    时间: 2008-2-25 17:07
既然LZ引用了偶贴上来的一段代码,那偶就顺便解释一下咯,这段代码就是用于从QC调用QTP时需要加载些额外插件的情况(3个基本插件以外的其它插件,比如java,.net插件等),执行test之前调用写在vbs文件中的该函数来加载插件
作者: wtucel    时间: 2008-4-11 17:31
请问下楼上的,我是打算在TD中启动QTP来录制脚本,这个脚本需要加载JAVA插件,我看了你这个函数,但是不知道怎么去调用你这个函数,我不是执行的时候才需要插件啊,我是录制脚本的时候就需要插件。有办法解决么?
作者: hsjzfling    时间: 2008-4-11 19:02
需要插件就装插件啊。。。

PS:表问偶怎么装插件或者怎么弄免费插件~~
作者: wtucel    时间: 2008-4-14 08:44
原帖由 hsjzfling 于 2008-4-11 19:02 发表
需要插件就装插件啊。。。

PS:表问偶怎么装插件或者怎么弄免费插件~~



  看来没懂我的意思,我肯定安装了插件的。帮忙回下这个帖吧,这个里面说得很清楚。
http://bbs.51testing.com/viewthr ... mp;page=2#pid941549
作者: songyq521    时间: 2009-6-12 11:44
标题: 回复 3# 的帖子
从你的意思中,这个function是在QTP中调用的,对吧?!但是有个问题:
        If qtApp.Launched And blnNeedChangeAddins Then
             qtApp.Quit
        End If
在这里就会提示:当前的应用程序忙。就是说当前正在使用QTP不能执行qtApp.Quit
作者: kaidong12    时间: 2009-8-19 22:33
'Description:
'
'This example opens a test and loads all the add-ins associated with the test.
'
'Assumptions:
'There is no unsaved test currently open in QuickTest.
'For more information, see the example for the Test.SaveAs method.
作者: jimmyzhou    时间: 2009-12-23 10:43
楼主的帖子我感觉只能自己写脚本启动QTP时适用,从QC启动QTP不适用,所以不要叫“从QC自动启动qtp时自动加载插件的方法如何使用?”来误导大家




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2