51Testing软件测试论坛

标题: 调用过程函数,老是提示”error library file [打印本页]

作者: flyingkite    时间: 2007-12-11 17:22
标题: 调用过程函数,老是提示”error library file
我操作是登录,我这里调用了过程函数来登录,call后面的脚本是自动录制的脚本(肯定没问题)
脚本是这样的
call loginhoutai("admin","system")
Browser("后台管理 - 登录").Page("后台管理").Frame("topFrame").Link("USERS").Click
Browser("后台管理 - 登录").Page("后台管理").Frame("leftFrame").Link("权限管理").Click
Browser("后台管理 - 登录").Page("后台管理").Frame("leftFrame").Link("处罚类型管理").Click
Browser("后台管理 - 登录").Page("后台管理").Frame("main").Link("新增处罚类型").Click
Browser("后台管理 - 登录").Page("后台管理").Frame("main_2").WebEdit("_fmm.puni._0.n").Set "嘎嘎"
Browser("后台管理 - 登录").Page("后台管理").Frame("main_2").WebButton("保存").Click
Browser("后台管理 - 登录").Page("后台管理").Sync
Browser("后台管理 - 登录").Close
过程函数文件里函数是这样的
Sub Loginhoutai(user,password)
        Browser("first").Navigate "http://newadmin.taobao.net/mckinley/admin/logon.htm"
         Browser("first").Page("后台管理 - 登陆").WebEdit("check_code").Set "8888"
        Browser("first").Page("后台管理 - 登陆").WebEdit("username").Set "admin"
        Browser("first").Page("后台管理 - 登陆").WebEdit("password").SetSecure "44e52f444b7b6ddd938b653ff6c1baf0f859"
        Browser("First").Page("淘宝后台管理 - 登陆").Image("登录").Click
End sub
这个vbs文件我也在file -》setting。。。。里面引用进来了
但是运行过程函数那段的时候总是提示”error in library file, your function library may not be valid,dou you want to continue running the test“这个错误
高手帮忙看下,偶是初次尝试调用函数。。。哪里出了问题呢
作者: walker1020    时间: 2007-12-11 17:40
你说的 过程函数文件指 的是 Loginhoutai 这个函数吗? 你把这个函数写在 VBS文件里面,而这个函数用到了  Browser("first").等对象,但VBS文件不能保存这些对象(因为它没有对象库!),你加载时当然保存了。
作者: walker1020    时间: 2007-12-11 17:45
建议你把 Loginhoutai 放在一个 Action里面,然后 重新调用此 Action

[ 本帖最后由 walker1020 于 2007-12-11 17:47 编辑 ]
作者: yabest    时间: 2007-12-11 20:14
呵呵,这是函数库文件编译没有通过,里面有语法错误,比如if 和 end if没有匹配等等!!!

定位方法很简单,新建一个test,将整个函数库文件的内容都复制粘贴到Action1里,然后运行这个test!

QTP就会先编译Action1,编译时会检查出语法错误,并告诉你语法错误的位置!
作者: yabest    时间: 2007-12-11 20:17
原帖由 walker1020 于 2007-12-11 17:40 发表
你说的 过程函数文件指 的是 Loginhoutai 这个函数吗? 你把这个函数写在 VBS文件里面,而这个函数用到了  Browser("first").等对象,但VBS文件不能保存这些对象(因为它没有对象库!),你加载时当然保存了。


呵呵,错了,Action调用的vbs文件函数,同样能使用当前Action对象库和Shared对象库,跟直接写在Action里的脚本相同!

[ 本帖最后由 walker1020 于 2007-12-11 22:12 编辑 ]
作者: gy21st    时间: 2007-12-11 21:48
你花0.1秒点击这个details按钮,一切真相大白
作者: walker1020    时间: 2007-12-11 22:12
原帖由 gy21st 于 2007-12-11 21:48 发表
你花0.1秒点击这个details按钮,一切真相大白


对呀,楼主 点击 那个 Detail ,看看 QTP的提示,不是很容易说明问题吗?
作者: walker1020    时间: 2007-12-11 22:13
原帖由 yabest 于 2007-12-11 20:17 发表


呵呵,错了,Action调用的vbs文件函数,同样能使用当前Action对象库和Shared对象库,跟直接写在Action里的脚本相同!


谢谢Yatest的提醒! 明天我一定去公司实验一下,看看Action 是否可以调用楼主写的那样的vbs文件函数。另外,不知道楼主用到Action对象库和Shared对象库了吗?

[ 本帖最后由 walker1020 于 2007-12-11 22:14 编辑 ]
作者: gy21st    时间: 2007-12-11 23:31
标题: 回复 8# 的帖子
100%可以。
作者: flyingkite    时间: 2007-12-13 09:31
工作忙都没及时上来看哦,没想到有这么多高人关注俺的问题阿
我点了detail按钮 ,里面说是line(7)然后后面是乱码哦
我不知道这里说的line(7)是指我qtp脚本,还是指我调用的过程函数理的line7阿
并且就这么简单的几行行数没啥错误阿
问题最大的就是楼上说的啥对象库的问题

那个action和share对象库在哪里阿?
作者: flyingkite    时间: 2007-12-16 14:56
我调试了下,把vbs里面的调用函数直接放到脚本里去执行是可以通过的,没有报告错误
但是为什么我一用call函数调用就会出错呢
作者: flyingkite    时间: 2007-12-20 20:23
顶阿....还没解决咋弄阿......................
作者: yabest    时间: 2007-12-20 22:26
都说了是整个vbs函数库文件的问题,这个文件里面有语法错误或者乱码错误啥的,导致这个函数库文件加载失败!

报错的时候call语句还没执行到呢,不信你在call语句前先加一条msgbox语句,看看msgbox对话框弹出来了没有!
作者: gy21st    时间: 2007-12-20 22:57
原帖由 yabest 于 2007-12-20 22:26 发表
都说了是整个vbs函数库文件的问题,这个文件里面有语法错误或者乱码错误啥的,导致这个函数库文件加载失败!

报错的时候call语句还没执行到呢,不信你在call语句前先加一条msgbox语句,看看msgbox对话框弹出来了没 ...


LZ工作忙,你还回帖子打扰他
作者: 板砖    时间: 2007-12-21 10:08





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