51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2080|回复: 7
打印 上一主题 下一主题

[求助] 调用外部函数值传递错误

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-6-24 10:54:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我在QTP中定义的全局的public类型变量public val,使用外部vbs文件中的函数如:Function getCellValue(xlworksheet,row,col)
    val =""
    Err = 0
    On Error Resume Next
    tempValue = xlworksheet.Cells(row, col)
    If Err = 0 Then
        val = tempValue
        Err = 0
    End If
    On Error GoTo 0
    GetCellValue = val
End Function
getCellValue函数是在Vbs中的另一个函数中被调用的,将另一个函数(如函数名为functionA)直接放在vbs中,在QTP中调用该函数时,通过getCellValue函数取出的Excel表格的值是空的,若把functionA直接放在QTp中,调用functionA时,通过getCellValue取出单元格的值就是正确的,我不明白为什么,请高手们帮忙!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-6-24 11:08:09 | 只看该作者
GetCellValue = val
把值赋给函数吗?
建议你把两个Public Function都放在resouces中,再调用试一下。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2009-6-24 11:19:03 | 只看该作者

调试失败

就是这样做的时候有问题的,这两个函数放在function libraries中,调试时取出的getCellValue的值为空值
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-6-24 16:50:43 | 只看该作者
QTP好像不支持外外部函数的调用,在运行时只执行当前界面中的程序!呵呵!
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-6-24 17:00:27 | 只看该作者
QTP支持外部函数调用的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-6-24 18:03:11 | 只看该作者
有没有把functionA的vbs文件加载到QTP的Resources中? 或者把它放在与getCellValue同一个Vbs中应该可以
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2009-6-24 19:12:37 | 只看该作者
我一般都不加载到Resources中的,因为加载到那里不会自动更新代码
我都是在代码开头使用ExecuteFile "D:\QTP\file\funaction.vbs"这样的语句.
这个问题就不会存在了.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2009-6-25 14:05:33 | 只看该作者
呵呵,感谢大家回帖!问题已解决,是环境变量传递值错误!辛苦大家啦!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-25 07:24 , Processed in 0.087749 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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