Quick Test Professional 自动化脚本示例

执行基本操作:

配置运行选项并运行测试

 

'************************************************************************************************************************
'描述:
'
'该示例打开测试,配置运行选项和设置,
'运行该测试,然后检查测试运行的结果。
'
'假定:
'QuickTest 中当前未打开没有保存的测试。
'有关详细信息,请参阅 Test.SaveAs 方法的示例。
'打开 QuickTest 时,将加载测试所必需的加载项。
'有关详细信息,请参阅 Test.GetAssociatedAddins 方法的示例。
'************************************************************************************************************************

Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Dim qtTest 'As QuickTest.Test ' 声明 Test 对象变量
Dim qtResultsOpt 'As QuickTest.RunResultsOptions ' 声明 Run Results Options 对象变量

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest
qtApp.Visible = True ' 使 QuickTest 应用程序可见

' 设置 QuickTest 运行选项
qtApp.Options.Run.CaptureForTestResults = "OnError"
qtApp.Options.Run.RunMode = "Fast"
qtApp.Options.Run.ViewResults = False

qtApp.Open "C:\Tests\Test1", True ' 以只读模式打开测试

' 为测试设置运行设置
Set qtTest = qtApp.Test
qtTest.Settings.Run.IterationMode = "rngIterations" ' 仅运行循环 2 到 4
qtTest.Settings.Run.StartIteration = 2
qtTest.Settings.Run.EndIteration = 4
qtTest.Settings.Run.OnError = "NextStep" ' 指示 QuickTest 在发生错误时执行下一步骤

Set qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") ' 创建 Run Results Options 对象
qtResultsOpt.ResultsLocation = "C:\Tests\Test1\Res1" ' 设置结果位置

qtTest.Run qtResultsOpt ' 运行测试

MsgBox qtTest.LastRunResults.Status ' 检查测试运行的结果
qtTest.Close ' 关闭测试

Set qtResultsOpt = Nothing ' 释放 Run Results Options 对象
Set qtTest = Nothing ' 释放 Test 对象
Set qtApp = Nothing ' 释放 Application 对象

 

 

执行基本操作:

检查测试状态并保存测试

 

'************************************************************************************************************************
'描述:
'
'该示例保存已修改的测试,以便可以打开新的测试
'或退出应用程序,而不丢失任何未保存的信息。
'************************************************************************************************************************

Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest(如果未启动)
qtApp.Visible = True ' 使其可见

' 保存当前测试并根据需要决定是否打开一个新的测试
If qtApp.Test.Modified Then ' 如果修改了测试
    If qtApp.Test.IsNew Then ' 如果是新的测试(无标题)
        qtApp.Test.SaveAs "C:\Temp\TempTest" ' 使用临时名称保存测试(覆盖现有的临时测试)
    Else ' 如果存在测试(具有名称)
        qtApp.Test.Save ' 保存更改
    End If
End If

If Not qtApp.Test.IsNew Then ' 如果当前测试不是新的测试
    qtApp.New ' 打开新的测试
End If

Set qtApp = Nothing ' 释放 Application 对象
 

 

 

执行基本操作:

配置 QuickTest 显示选项

'************************************************************************************************************************
'描述:
'
'该示例配置 QuickTest 视图和窗格,以便以可见模式运行 QuickTest。
'************************************************************************************************************************

Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest


qtApp.ActivateView "ExpertView" ' 显示专家视图
qtApp.ShowPaneScreen "ActiveScreen", True ' 显示 Active Screen 窗格
qtApp.ShowPaneScreen "DataTable", False ' 隐藏“数据表”窗格
qtApp.ShowPaneScreen "DebugViewer", True ' 显示“调试查看器”窗格
qtApp.WindowState = "Maximized" ' 最大化 QuickTest 窗口
qtApp.Visible = True ' 使 QuickTest 窗口可见

Set qtApp = Nothing ' 释放 Application 对象

 

执行基本操作:

为业务流程测试新建业务组件

'************************************************************************************************************************
'描述:
'
' 该示例为特定的业务流程测试找到关联的加载项的列表。
' 然后新建业务组件,并与关联 BPT 的业务组件
'关联相同的加载项。
'
'************************************************************************************************************************


Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Dim arrBCAddins ' 声明变量,用于存储与组件关联的加载项
Dim blnNeedChangeAddins ' 声明一个标志,用于指明当前是否已加载与组件关联的加载项

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest
qtApp.Visible = True ' 使 QuickTest 应用程序可见

qtApp.TDConnection.Connect "http://qcserver/qcbin", _
              "MY_DOMAIN", "My_Project", "James", "not4you", False ' 连接到 Quality Center


If qtApp.TDConnection.IsConnected Then ' 如果连接成功

'找到与业务流程测试关联的加载项,并关联到具有新的业务组件的
'同一列表。
    arrBCAddins = qtApp.GetAssociatedAddinsForBPT("[QualityCenter] Subject\MyFolder\MyBPT")
    qtApp.NewBusinessComponent
    qtApp.BusinessComponent.SetAssociatedAddins arrBCAddins

End If

 

执行基本操作:

  为业务组件加载正确的加载项

'************************************************************************************************************************
'描述:
'
' 该示例查找与特定业务组件关联的加载项。
' 如果尚未加载某些必需的加载项,则其加载它们,重新启动 QuickTest,打开业务组件,
' 并确认打开的文档是否确实是业务组件。
'
'************************************************************************************************************************


Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Dim arrBCAddins ' 声明变量,用于存储与组件关联的加载项
Dim blnNeedChangeAddins ' 声明一个标志,用于指明当前是否已加载与组件关联的加载项

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象
qtApp.Launch ' 启动 QuickTest
qtApp.Visible = True ' 使 QuickTest 应用程序可见

qtApp.TDConnection.Connect "http://qcserver/qcbin", _
              "MY_DOMAIN", "My_Project", "James", "not4you", False ' 连接到 Quality Center

If qtApp.TDConnection.IsConnected Then ' 如果连接成功

    arrBCAddins = qtApp.GetAssociatedAddinsForBC("[QualityCenter] Components\MyFolder\MyBC")

    ' 检查是否已加载所有必需的加载项
    blnNeedChangeAddins = False ' 假定无需作任何更改
    For Each bcAddin In arrBCAddins ' 循环与组件关联的加载项列表
        If qtApp.Addins(bcAddin).Status <> "Active" Then ' 如果存在未加载的关联加载项
            blnNeedChangeAddins = True ' 指明需要对加载的加载项进行更改
            Exit For ' 退出循环
        End If
    Next

    If qtApp.Launched And blnNeedChangeAddins Then
        qtApp.Quit ' 如果有必要进行更改,则退出 QuickTest,修改已加载的加载项
    End If

    If blnNeedChangeAddins Then
        Dim blnActivateOK
        blnActivateOK = qtApp.SetActiveAddins(arrBCAddins, errorDescription) ' 加载与组件关联的加载项并检查它们是否已加载成功。
        If Not blnActivateOK Then ' 如果在加载加载项时发生问题
            MsgBox errorDescription ' 显示包含错误的消息
            WScript.Quit ' 并结束自动程序。
        End If
    End If
End If

If Not qtApp.Launched Then ' 如果尚未打开 QuickTest
    qtApp.Launch ' 启动 QuickTest(已加载正确的加载项)
    qtApp.Visible = True ' 使 QuickTest 应用程序可见
    qtApp.TDConnection.Connect "http://qcserver/qcbin", _
              "MY_DOMAIN", "My_Project", "James", "not4you", False ' 连接到 Quality Center
End If

If qtApp.TDConnection.IsConnected Then ' 如果连接成功
    qtApp.OpenBusinessComponent "[QualityCenter] Components\MyFolder\MyBC", False ' 打开业务组件
    MsgBox qtApp.CurrentDocumentType '确认打开的文档是否是业务组件
End If
 

 

执行基本操作:

检查和加载加载项

'************************************************************************************************************************
'描述:
'
'该示例打开一个测试,并加载所有与测试关联的加载项。
'
'假定:
'QuickTest 中当前未打开没有保存的测试。
'有关详细信息,请参阅 Test.SaveAs 方法的示例。
'************************************************************************************************************************

Dim qtApp ' As QuickTest.Application ' 声明 Application 对象变量
Dim blnNeedChangeAddins ' 声明一个标志,用于指明当前是否已加载与测试关联的加载项
Dim arrTestAddins ' 声明变量,用于存储与测试关联的加载项

Set qtApp = CreateObject("QuickTest.Application") ' 创建 Application 对象

arrTestAddins = qtApp.GetAssociatedAddinsForTest("C:\Tests\Test1") ' 创建一个数组,用于包含与该测试关联的加载项的列表

' 检查是否已加载所有必需的加载项
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 ' 如果有必要进行更改,则退出 QuickTest,修改已加载的加载项
End If

If blnNeedChangeAddins Then
    Dim blnActivateOK
    blnActivateOK = qtApp.SetActiveAddins(arrTestAddins, errorDescription) ' 加载与测试关联的加载项并检查它们是否已加载成功。
    If Not blnActivateOK Then ' 如果在加载加载项时发生问题
        MsgBox errorDescription ' 显示包含错误的消息
    WScript.Quit ' 并结束自动程序。
    End If
End If

If Not qtApp.Launched Then ' 如果尚未打开 QuickTest
    qtApp.Launch ' 启动 QuickTest(已加载正确的加载项)
End If
qtApp.Visible = True ' 使 QuickTest 应用程序可见

qtApp.Open "C:\Tests\Test1" ' 打开测试
Set qtApp = Nothing ' 释放 Application 对象

你可能感兴趣的:(qtp,自动化脚本)