我目前正在使用UFT - 我有一个GUI测试,在我的一个测试中有一个web元素对象我想删除/更新,但是我是担心我们的测试套件中的另一个测试会引用它。 (我正在进入其他人建造的测试套件中)
有没有告诉对象存储库中的对象是否正在其他测试中使用? (无需进入每个单独的测试和行动以找出?)
答案 0 :(得分:1)
我的方式是简单的递归文件搜索。
答案 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文件并运行该文件。