51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3679|回复: 5
打印 上一主题 下一主题

[原创] 请问:QTP脚本中怎样调用QTP的专用函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-31 13:36:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
网络上看了很多QTP的专用函数,例如:  
QTP_WriteFile(pathway,words)  '写文件函数(追加) 文件路径 写入内容 
Function QTP_WriteFile_Change(pathway,words) '写文件函数(改写)  文件路径  写入内容
QTP_Read_Excel(pathway,sheetname,x,y) '读Excel文件元素  文件路径 工作表名  行值 列值
QTP_Write_Excel(pathway,sheetname,x,y,content) '写Excel文件元素并保存退出 文件路径 工作表名 行值 列值 写入内容
请问在QTP脚本中假如要用到QTP_Read_Excel(pathway,sheetname,x,y)这个函数,应该怎么写呢?直接写QTP_Read_Excel("D:\text.xls","sheet1",1,1)是不行的。
疑问:既然是QTP专用函数,为什么不能直接引用呢?是不是我的方法不对?如果是我的方法不对,那么应该怎么调用QTP的专用函数呢?谢谢!附件中是QTP专用函数

[ 本帖最后由 loveyatou1101 于 2010-3-31 14:18 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-31 13:50:27 | 只看该作者
你要清楚每个函数的意思,以及是否有返回值。
QTP_Read_Excel("D:\text.xls","sheet1",1,1),像这个应该是读取文件某个单元格的值的,那么他肯定有返回值,你直接运行他也没有意义。你需要把这个值赋值给变量,例如
text=QTP_Read_Excel("D:\text.xls","sheet1",1,1)
msgbox text
这样来用。
对于没有返回值的函数,比如上面的那个WriteFile,可能直接执行就行了,不过要看具体代码,也许会有true和false的返回值用来判断是否成功写文件了,那么也要用变量来赋值使用。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-3-31 14:14:21 | 只看该作者
原帖由 shotstar 于 2010-3-31 13:50 发表
你要清楚每个函数的意思,以及是否有返回值。
QTP_Read_Excel("D:\text.xls","sheet1",1,1),像这个应该是读取文件某个单元格的值的,那么他肯定有返回值,你直接运行他也没有意义。你需要把这个值赋值给变量, ...


谢谢,我使用的是: msgbox QTP_Read_Excel("D:\text.xls","sheet1",1,1),运行报错,报错信息为:类型不匹配: 'QTP_Read_Excel'
Line (1): "msgbox QTP_Read_Excel("D:\text.xls","sheet1",1,1)".
根据报错信息可以知道,显然QTP脚本在运行过程中,找不到这个函数,因为以上函数是QTP专用函数,为什么会找不到呢?需要什么配置吗?还是……
自己写个Excel读取数据的函数是可以正常使用的,我的理解是:既然是QTP专用函数,那么应该是QTP内置的才对啊?难道也是外部函数,这样说好象有点说不过去吧?既然是自己的函数,为什么还要加载后才能使用呢?这不是多此一举吗 ?真不理解,为什么这些函数称为QTP专用函数,而在脚本中却又不能直接调用
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-3-31 14:25:43 | 只看该作者
你的函数是否加载进去了?
我看了一下,这些专用函数只是个名称而已,其实本质还是用vbs写的。你要把函数加载到resources里或者直接加到代码里。
我看了你的附件,里面都只是名称而已,没有具体的实现代码,你需要找到他们具体的实现代码才能用。我估计起这个名字的人是想说这些函数是专门给QTP用的,于是简称QTP专用函数了。QTP好像没太多内置函数,基本上帮助里都可以找到,我记得是U开头的那个帮助文件,你去QTP的帮助目录里找一下。
所以上面那些函数,你要找到具体的代码。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-3-31 14:51:46 | 只看该作者
原帖由 shotstar 于 2010-3-31 14:25 发表
你的函数是否加载进去了?
我看了一下,这些专用函数只是个名称而已,其实本质还是用vbs写的。你要把函数加载到resources里或者直接加到代码里。
我看了你的附件,里面都只是名称而已,没有具体的实现代码,你需要 ...


谢谢!本以为那些函数既然是专用函数,那么就应该是QTP的内置函数了,所以通过函数名称就可以直接调用了,被那个“专用”给忽悠了,呵呵,本以为有了那些专用函数,就省了自己写函数了,哎!原来是场梦
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-3-31 15:06:09 | 只看该作者
多练习,凡事需要过程!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 05:04 , Processed in 0.075522 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表