使用HP-UFT,无论如何都要判断对象存储库中的对象是否正在其他测试中使用?

时间:2017-10-30 22:35:20

标签: hp-uft

我目前正在使用UFT - 我有一个GUI测试,在我的一个测试中有一个web元素对象我想删除/更新,但是我是担心我们的测试套件中的另一个测试会引用它。 (我正在进入其他人建造的测试套件中)

有没有告诉对象存储库中的对象是否正在其他测试中使用? (无需进入每个单独的测试和行动以找出?)

3 个答案:

答案 0 :(得分:1)

我的方式是简单的递归文件搜索。

  1. 打开EditPlus
  2. 搜索 - >在文件中查找
  3. 查找内容= 文件类型= * .mts | * .vbs | * .qfl Folder =
  4. 选择包含子文件夹复选框
  5. 点击查找

答案 1 :(得分:1)

您可以使用搜索>查看>从UFT查找(或按Ctrl + F)并选择查看整个解决方案

答案 2 :(得分:0)

打开" Script.mts"来自每个操作的文件并搜索您的对象名称。如果找到该对象,请在文件中写入对象所在的脚本名称和行号。

使用以下代码:

'strScriptsPath is the path where your test script folders are placed.

Set strScripts = objFSO.GetFolder(strScriptsPath).SubFolders
For Each Script In strScripts
    strAction = strScriptsPath & "\" & Script.Name & "\Action1\Script.mts"
    If objFSO.FileExists(strAction) Then
        'Open Script in NotePad
        Set strFile = objFSO.OpenTextFile(strAction, 1)
        Do While Not (strFile.AtEndOfStream)
            strLine = strFile.ReadLine
            If InStr(1, strLine, strObjectName) > 0 Then
                iVerificationCount = objSheet.UsedRange.Rows.Count
                iCurrentRow = iVerificationCount + 1
                objSheet.Cells(iCurrentRow, 1) = Script.Name
                objSheet.Cells(iCurrentRow, 2) = strLine
                If strFile.AtEndOfStream Then
                    objSheet.Cells(iCurrentRow, 3) = strFile.Line
                Else
                    objSheet.Cells(iCurrentRow, 3) = strFile.Line - 1
                End If
            End If
        Loop
        strFile.Close
        Set strFile = Nothing
    End If
Next
Set strScripts = Nothing

为了能够使用这段代码,声明objFSO对象并编写一段代码来创建一个excel并获取objSheet。

您还可以使用以下代码替换对象名称:

使用上面提到的For Each Loop

strScript = strScriptsPath & "\" & strScriptName & "\Action1\Script.mts"
strFind = "Old Object Name"
strReplace = "New Object Name"
Set strFile = objFSO.OpenTextFile(strScript, 1)
strData = strFile.ReadAll
strNewData = Replace(strData, strFind, strReplace)
strFile.Close
Set strFile = Nothing
Set strFile = objFSO.OpenTextFile(strScript, 2)
strFile.Write strNewData
strFile.Close
Set strFile = Nothing

**您只需要将整个代码写入.vbs文件并运行该文件。