51Testing软件测试论坛

标题: 为什么用VBscript实现Action的功能无法成功?不同的脚本间能共享控件的资源文件吗? [打印本页]

作者: letmehappy    时间: 2005-12-9 15:39
标题: 为什么用VBscript实现Action的功能无法成功?不同的脚本间能共享控件的资源文件吗?
我想像winrunner一样,把resouce文件和公用的函数与脚本分开,实现复用,步骤如下:
1 在QTP中新建一个脚本1,录制两个action,一个叫login,一个叫logout

2 把login 和 logout 在expert view中的代码拷贝成两个函数写在VBscript 脚本中:
--------
c:\func.vbs
--------
function login()     '进入TD
  Browser("TestDirector 7.6 SP4").Page("TestDirector 7.6 SP4").Image("li_fulltd").Click
  Browser("TestDirector 7.6 SP4").Page("Mercury TestDirector 7.6").WinEdit("Edit").SetSelection 0,3
  Browser("TestDirector 7.6 SP4").Page("Mercury TestDirector 7.6").WinEdit("Edit").Type  micTab
  Browser("TestDirector 7.6 SP4").Page("Mercury TestDirector 7.6").WinObject("153").Type "153"
  Browser("TestDirector 7.6 SP4").Page("Mercury TestDirector 7.6").WinObject("153").Type  micReturn
end function

function logout()   '退出TD
  Browser("Mercury TestDirector 7.6").Page("Mercury TestDirector 7.6").WinObject("LOGOUT").Click 37,9
end function

再把脚本1中的tsr文件保存到c:\1.tsr

3 在QTP中新建脚本2,在Test->settting->resource 中共享 c:\1.tsr,想这样共享resouce文件,不再重新识别控件

4 在脚本2的Action1的expert view中输入以下代码:

ExecuteFile "c:\func.vbs"  '加载VBscript文件
call login()
call logout()

运行时失败,提示无法识别控件.
想向大家请教两个问题:
1 这样的方法,能实现用VBscritp来替代Action的功能吗?共享Action是比较方便,但是如果是VBscript文件就不需要打开QTP就能编辑,比较方便
2 不同的脚本之间怎样共享资源文件呢?用以上的方法显示不行,是哪里出错了吗?而在winrunner中,控件资源可以保存为GUI文件,然后在脚本中载入,QTP有类似的方法吗?

[ 本帖最后由 letmehappy 于 2005-12-9 15:41 编辑 ]
作者: sz_lg    时间: 2005-12-9 16:35
不同的脚本不能共享资源文件
作者: letmehappy    时间: 2005-12-9 16:38
啊?不能共享啊?那Test->settting->resource中的object reposible type 可以设为共享有什么作用呢?




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