我是QTP的新手,刚刚开始使用它.我在一些函数库中编写了一个类定义,并在下面创建了一个测试:
Class ExcelFileReader
Public default Function Init(pathToExcel)
Dim objFSO
Dim result
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(pathToExcel) Then
Rem File Found
Dim objExcel
Set objExcel = CreateObject("Excel.Application")
objExcel.Workbooks.open(pathToExcel)
Else
REM File not found
result = vbOk
While result <> vbCancel
result = Msgbox ("Unable to Locate the file", 5, "Error")
Wend
ExitAction(1)
End If
End Function
Run Code Online (Sandbox Code Playgroud)
结束班
测试:
Dim objExcelReader : Set objExcelReader = New ExcelFileReader
objExcelReader.Init("D:\mytest.xlsx")
Run Code Online (Sandbox Code Playgroud)
我已将功能库与测试相关联,但仍未在测试说明未找到类定义的第2行收到错误.此外,如果我在同一个文件"test"中复制完整代码,那么事情就会按预期工作.
提前致谢 :)
我正在寻找一个可以与VBScript一起使用的替代有效正则表达式.
仅供参考,我将在HP UFT中使用它,所以我别无选择,只能使用VBScript(如果没有其他最简单的方法,我可能需要查看其他选项,例如从VBS执行Java(或其他语言)代码) .
我想要实现的目标:
从给定的一堆文本中,我想提取某些字母数字字符串.此字符串可能包括-,_,.,/,//,等.
我所知道的只是,这个字符串后面跟着一个特定的单词(例如DIA),这个字符串后面会有一个空格.
这里我可以使用VBS代码片段作为替代方案:
此示例代码仅检索第一个匹配项.如果我找不到其他选择,我可以修改它.
serviceType = "DIA"
tempTxt = obj.GetROProperty("innertext")
If InStr(1, tempTxt, serviceType, 0) > 0 Then
iStartPoint = InStr(1, tempTxt, serviceType, 0) + Len(serviceType)
End If
tempTxt = LTrim(Mid(tempTxt, iStartPoint))
iStartPoint = InStr(1, tempTxt, " ", 1)
MsgBox Left(tempTxt, iStartPoint)
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的正则表达式:
(?<=DIA\s).*?(?=\s)
Run Code Online (Sandbox Code Playgroud)
这是我尝试过并成功运作的演示.我只需要找到VBScript替代品.
更新
这是我在尝试建议的正则表达式后得到的结果:(
返回值看起来不同,因为我使用不同的输入文本.)
这是我正在使用的代码:
Call RegExpMultiSearch(tempTxt, "DIA\s+(\S+)")
Public RegMatchArray
Function RegExpMultiSearch(targetString, ptrn)
'CREATE THE …Run Code Online (Sandbox Code Playgroud) 我正在寻找使用QTP触发弹出菜单操作的想法.
我正在使用QTP测试Web应用程序.该应用程序具有"级联"或分层飞出菜单.
例如 Options->Preferences
重新编码QTP时识别菜单层次结构上的终点(例如"首选项").但是在运行测试时,触发 WebElement("Preferences").Click不起作用.
如果我调用Link("Options").FireEvent ("onmouseover")它会拉下菜单,之后我可以突出显示"首选项"项,但是在拉下菜单后调用单击按钮无法触发菜单操作.
任何触发这些菜单项上的点击操作的想法都会很有用.
此致,
Adarsha
我需要使用QTP验证PDF中的特定内容.如何将PDF中的内容导入到使用QTP/VBScript的字符串中.这样,我就可以验证PDF中的内容.
如何将函数库与QTP脚本关联超出QTP环境.
非常感谢您的帮助.
谢谢
我对QTP 11有疑问,QTP 11可以在Performance Center中使用负载测试进行性能测试类似的loadruner吗?或QTP仅用于功能测试?
我是VBscript的新手,并且努力学习所有概念.在我练习期间,我感到疑惑.
dim a,b,c
set a = CreateObject("scripting.filesystemobject") 'initiate the file system object'
set b = a.GetFolder("E:\test") 'returns a object . and for the instance that varaiable b refers to that returned object'
c = b.datecreated 'accesing and storing the property to a variable /C/'
msgbox "folder: " &c
Run Code Online (Sandbox Code Playgroud)
当我执行此时没有错误消息,它工作正常.但是当我改变的时候
c = b.datecreatedTO set c = b.datecreated比
它显示了这个错误:
> object required:'datecreated'
Run Code Online (Sandbox Code Playgroud)
我知道这是一件基本的事情,但有些时候小事情会让你学到很多东西,对未来有所帮助.
Dim globalDict
Dim localDict
.
'Data from a excel is loaded to globalDict
Set localDict=globalDict(1)
localDict(item1)="AAA"
Run Code Online (Sandbox Code Playgroud)
此更新globalDict也会更新该值.它似乎localDict只是一个指针.
知道什么可能是错的吗?
谢谢,Rajesh
我正在HP UFT 12中创建一个脚本,该脚本针对CSV文件执行网格数据验证,并将结果保存在具有两个工作表的Excel文件中。
我之所以使用Excel,是因为它对用户来说更加清晰,因为它允许单元格格式化,更容易比较数据等等。
我的代码可以在我的机器上工作,但是我的客户端安装了TITUS文档分类加载项,因此,每当他们运行我的脚本时,它都会挂起,因为TITUS弹出消息要求用户在保存时对文档进行分类。该消息未显示给用户,可能是由于引起的objExcel.DisplayAlerts = False,但是脚本没有前进。
以下是我的代码中与该问题相关的部分(出于机密原因,我省略了大部分代码)。
Dim objExcel : Set objExcel = CreateObject("Excel.Application")
Dim objWorkbook : Set objWorkbook = objExcel.Workbooks.Add
objExcel.Visible = False
Dim wsGrid : Set wsGrid = objWorkbook.Worksheets(1)
wsGrid.Name = "Grid Data"
Dim wsExported : Set wsExported = objWorkbook.Worksheets.Add
wsExported.Name = "Exported Data"
' Internal code to perform validation and fill worksheets ...
objExcel.DisplayAlerts = False
objWorkbook.SaveAs "C:\my_folder_path\my_file_name.xls" ' This is where it hangs in machines where the add-in is installed
objWorkbook.Close
objWorkbook.Quit
Set …Run Code Online (Sandbox Code Playgroud) 我有像10A或20B的字符串.我想要10个10A或20个20个.如何使用VBScript或QTP内部命令仅从字符串中拆分数字?
qtp ×10
vbscript ×7
hp-uft ×3
excel ×1
load-testing ×1
loadrunner ×1
regex ×1
validation ×1
vba ×1