QTP函数调用
谁知道这个页面上的http://www.it165.net/pro/html/201304/5503.html ,Function ReadFile和Function GetTestObject函数怎么在QTP里面调用 把代码复制到你QTP里面,ReadFile函数是读取D:\new.xls文件中表sheet1,所以你需要在D盘建立new.xls文件,或者修改函数中文件为你自己的路径文件即可GetTestObject函数是根据你定义的变量名进行取值,及excel表中一共两列,一列是你定义的变量名,一列是变量值.
如:excel中第一列为password ,1;通过函数GetTestObject("password ")就可以取得值为1,同理里面可以放很多变量名和值,根据需要取值即可. jingzizx 发表于 2015-5-29 11:13
把代码复制到你QTP里面,ReadFile函数是读取D:\new.xls文件中表sheet1,所以你需要在D盘建立new.xls文件,或者 ...
我改了GetTestObject函数的参数,怎么在QTP里面不执行是怎么回事
Function GetTestObject(password)
Dim objArray
objArray=ReadFile("E:\vbs\122.xlsx","sheet1")
For i=1 to UBound(objArray,1)
If objArray(i,1)=objName Then
GetTestObject=objArray(i,2)
Exit function
End If
Next
End Function
Excel是这样显示的
password aaa
202 202
202 202
202 202
202 202
202 202
202 202
202 202
202 202
202 202
202 202
202 202
202 202
jix11 发表于 2015-5-29 14:15
我改了GetTestObject函数的参数,怎么在QTP里面不执行是怎么回事
Function GetTestObject(password)
D ...
Excel是这样写的
password 202
aaa 202
bbb 202
ccc 202 jingzizx 发表于 2015-5-29 14:52
Excel是这样写的
password 202
aaa 202
我按照你说的执行了QTP,但是QTP没有执行GetTestObject这个函数
代码是这样
Function ReadFile(sFileName,sSheetName)
Dim oExcelapp
Dim oExcel
Dim oSheet
' Dim oRange
' Dim arrRange
On Error resume next
'创建EXCEL 应用程序对象
Set oExcelapp=CreateObject("Excel.Application")
oExcelapp.Visible = True
If err.number <>0 Then
msgbox "未能初始化Excel"&vbCrLf&_
"请确保Excel已安装",vbcritical
Exit function
End If
On error goto 0
On Error resume next
'打开Excel文件
set oExcel=oExcelapp.Workbooks.Open(sFileName)
oExcel.Worksheets(sSheetName).Activate
If err.number <>0 Then
msgbox "未能加载Excel文件"&vbCrLf&_
"请确保Excel文件路径正确或格式正确",vbcritical
Exit function
End If
On error goto 0
'获取表的使用范围 www.it165.net
'Set oSheet=oExcel.Worksheets(sSheetName).UsedRange
Set oSheet=oExcel.Worksheets(sSheetName).UsedRange
Set oRange=oSheet.Range("A1:Z200")
arrRange=oRange.value
oExcelapp.Workbooks.Close
Window("text:=Microsoft Excel").Close
ReadFile=arrRange
'无用语句
'Set oSheet=oExcel.Worksheets(sSheetName)
'For i=1 to 100
' IfoSheet.cell(i,1).value= lookupstr Then
' ReadFile=oSheet.cell(i,2).value
' Exit function
' End If
'Next
''关闭工作薄
'oExcelapp.Workbooks.Item(1).Close
''退出Excel
'oExcelapp.Quit
'Set oExcelapp=nothing
End Function
'指定参数取用
'输入:
' ObjName:测试对象名称
' 返回:测试对象名称对应的字符串
Function GetTestObject(password)
Dim objArray
objArray=ReadFile("E:\vbs\122.xlsx","sheet1")
For i=1 to UBound(objArray,1)
If objArray(i,1)=objName Then
GetTestObject=objArray(i,2)
Exit function
End If
Next
End Function
E:\截图\QQ截图20150529161008.png 你理解错了,你写的只是函数定义,GetTestObject中函数参数不是password,还是原先objName,你用的时候要单独写:把刚才说的改完之后,在后面可以这样写
Dim Password
Password=GetTestObject(password)
这样就取出来值了,你再试试,password可能要加引号,忘了 jingzizx 发表于 2015-5-30 22:06
你理解错了,你写的只是函数定义,GetTestObject中函数参数不是password,还是原先objName,你用的时候要单独 ...
可是这样取出来的是1个值,我想要的是一列的值,这个怎么操作 jix11 发表于 2015-6-1 10:42
可是这样取出来的是1个值,我想要的是一列的值,这个怎么操作
是取得一个值,这个函数设计的就是根据参数名,取出一个值;
你想取出一列值,自己改第二个函数就行了 jingzizx 发表于 2015-6-1 13:52
是取得一个值,这个函数设计的就是根据参数名,取出一个值;
你想取出一列值,自己改第二个函数就行了
可不可以在麻烦你告诉我这个函数怎么改 jix11 发表于 2015-6-1 17:26
可不可以在麻烦你告诉我这个函数怎么改
你试试,取得是一列,参数名放到第一排
Function GetTestObject(objName)
Dim objArray
Dim all(198)
objArray=ReadFile("E:\vbs\122.xlsx","sheet1")
For i=1 to UBound(objArray,2)
If objArray(1,i)=objName Then
For j=0 to 198
all(j)=objArray(j+2,i)
next
GetTestObject=all
Exit function
End If
Next
End Function jingzizx 发表于 2015-6-2 10:01
你试试,取得是一列,参数名放到第一排
Function GetTestObject(objName)
Dim objArray
谢谢,我电脑重装系统了,所以现在才回复你,我执行了你这段代码,是可以执行的,但是循环打印出来,就不能用之前的这个方法
Dim Password
Password=GetTestObject("password")
print Password
这个要怎么用
实在不好意思,真的不知道,不要嫌弃菜啊
页:
[1]