51Testing软件测试论坛

标题: QTP脚本中如何将参数传入function [打印本页]

作者: 心清清    时间: 2009-4-14 20:17
标题: QTP脚本中如何将参数传入function
最近用了几天QTP,发现有好几个问题啊,希望各位高手来帮忙解答下哦

1、写了一个function,存为vbs文件,在脚本中调用该function时无法将脚本中的变量的值传入该function,msgbox传入的值为空。不知道哪里出问题了,为什么传不进去参数呢?具体代码如下:
   ..........调用的代码......
   a=1234
   call function name(a)

   ......Function代码.......
    function name(b)
    dim state,page
     state=0
     page=1
     browser("ie").page("page").link("value:="&b).click
   end function
2、关于用户体验性的问题,复制粘贴runaction的代码后,为什么仍然要insert action才可以?否则会报错找不到该action,因为有很多重复调用action,每次都insert确实比较麻烦,不知道有没有比较方便的办法哦。

3、运行时报错提示框只有 OK 和help按钮,为什么没有skip按钮?这样的话手工操作一下可以让脚本继续跑下去,而不用每次出一个问题就要重新开始跑脚本,跑一遍要花好多时间呢。

[ 本帖最后由 心清清 于 2009-4-14 20:50 编辑 ]
作者: Jay-Yang84    时间: 2009-4-14 23:08
1. 首先你得确定你加载了这个vbs,方法可以通过Function->Setting->Libary加载, 或者用语句ExecuteFile,我想这个你肯定加载了. 其次我不知道是不是你用了call function name(a),我没有这样用过,我只用过 call name(a).
2. 每次都insert确实比较麻烦,我也是新手, 也不知道有没有比较方便的办法...
3. 运行时报错提示框我这边每次都有Skip和Debug,呵呵,不知道是不是哪里的设置问题,其他我想你可以在语句中加Run Error Resume Next,我想这和Skip的作用是一样的吧...我这边虽然可以出错了弹出Skip和Debug,但是貌似QTP不支持出错了后点Debug后更新一些错误的字段值可以使程序继续run下去,或者是我不知道怎么用,因为我看到Debug view有Command栏. 还有就是貌似不支持断点往回拖,这样导致我不小心run过了就不可以看第二遍了. 其实我觉得Skip只能忽略掉一些语法的小问题,个人觉得用处不大,如果一个语句出错skip了就会一错错到底...

我也是新手,刚接触QTP,希望高手赶紧出来, 我也想知道....
作者: 风过无息    时间: 2009-4-15 10:27
1、写了一个function,存为vbs文件,在脚本中调用该function时无法将脚本中的变量的值传入该function,msgbox传入的值为空。不知道哪里出问题了,为什么传不进去参数呢?具体代码如下:
   ..........调用的代码......
   a=1234
   call name(a)

   ......Function代码.......
    function name(b)
msgbox b
   end function

>>楼主看下上面的脚本

2、关于用户体验性的问题,复制粘贴runaction的代码后,为什么仍然要insert action才可以?否则会报错找不到该action,因为有很多重复调用action,每次都insert确实比较麻烦,不知道有没有比较方便的办法哦。

>>把脚本设置可调用的,
Action Properties>>选择Reusable action

以后就可以直接调用,使用CALL

3、运行时报错提示框只有 OK 和help按钮,为什么没有skip按钮?这样的话手工操作一下可以让脚本继续跑下去,而不用每次出一个问题就要重新开始跑脚本,跑一遍要花好多时间呢。
>>使用On Error Resume Next,
跳过错误集训运行

On Error GoTo 0
恢复
具体请参考帮助


[ 本帖最后由 风过无息 于 2009-4-15 10:29 编辑 ]
作者: 咚咚宝031102    时间: 2009-4-15 10:49
dddddddddddddddd
作者: 心清清    时间: 2009-4-29 10:50
谢谢各位的回复。
第一个问题已经解决,只是因为传入的参数少了一个空格,在function里就无法找到对应的对象,我就以为没传进去呢,绕了个好大的湾啊,不好意思




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2