51Testing软件测试论坛
标题:
把对象库和脚本分离,但运行出问题?
[打印本页]
作者:
xieyang702
时间:
2011-1-11 17:36
标题:
把对象库和脚本分离,但运行出问题?
对象库object/login.vbs
Set Login_Browser = Description.Create()
Set Login_Page = description.create()
Set Login_WebEdit_UserName = Description.Create()
Login_WebEdit_UserName("name").Value = "_ctl0:content:username"
Login_WebEdit_UserName("type").Value = "text"
Set Login_WebEdit_Password = Description.Create()
Login_WebEdit_Password("name").Value = "_ctl0:content:password"
Set Login_WebButton_Login = Description.Create()
Login_WebButton_Login("name").Value = "Login"
Login_WebButton_Login("type").Value = "submit"
脚本 testscript/login.vbs
class Login
Function login(Sheet_Name)
msgbox("test")
'关闭所有的IE窗口,避免出现问题
SystemUtil.CloseProcessByName "iexplore.exe"
SystemUtil.Run "iexplore.exe",DataTable("URL",Sheet_Name),"","open","3"
'先加载对象库,在加载脚本文件
objectFilePath = pathFind(Environment("objectScriptFolderName"),"login","vbs")
ExecuteFile(objectFilePath) '加载对象库
curPage = Browser(Login_Browser).Page(Login_Page)
Login_Page.Sync
wait 10
curPage.Login_WebEdit_UserName.Set DataTable("用户名",Sheet_Name)
curPage.Login_WebEdit_Passwor.Set DataTable("密码",Sheet_Name)
curPage.Login_WebButton_Login.Click
wait 5
End Function
end class
运行到粗体这里就出问题了,如果把粗体部分去掉,在resource里加这个对象文件,也不行。
为啥啊?
作者:
gztester
时间:
2011-1-11 18:41
调试一下,看objectFilePath 取的路径对不对
作者:
xieyang702
时间:
2011-1-12 09:08
回复
2#
gztester
objectFilePath = pathFind(Environment("objectScriptFolderName"),"login","vbs")
上面那句取得的objectFilePath是对的 ,执行到下面这句就不行了
ExecuteFile(objectFilePath) '加载对象库
作者:
gztester
时间:
2011-1-12 09:16
报什么错啊?截个图看看
改成这样试试:
ExecuteFile objectFilePath '加载对象库
作者:
shingo0109
时间:
2011-1-12 11:33
LZ把报错信息发上来看看
作者:
xieyang702
时间:
2011-1-12 15:55
本帖最后由 xieyang702 于 2011-1-12 16:33 编辑
回复
4#
gztester
回复
5#
shingo0109
把代码改成这样:
'先加载对象库,在加载脚本文件
objectFilePath = pathFind(Environment("objectScriptFolderName"),"login","vbs")
msgbox(objectFilePath)
ExecuteFile objectFilePath '加载对象库
wait 10
'enter the username and password
Browser(Login_Browser).Page(Login_Page).Login_WebEdit_UserName.Set DataTable("用户名",Sheet_Name)
Browser(Login_Browser).Page(Login_Page).Login_WebEdit_Passwor.Set DataTable("密码",Sheet_Name)
Browser(Login_Browser).Page(Login_Page).Login_WebButton_Login.Click
报错:
Object doesn't support this property or method: 'Browser(...).Page(...).Login_WebEdit_UserName'
作者:
skyzhu
时间:
2011-1-12 17:11
Browser(Login_Browser).Page(Login_Page).Login_WebEdit_UserName.Set DataTable("用户名",Sheet_Name)
这么写语法就是错的了,没报错才是神奇了
至少也应该是
Browser(Login_Browser).Page(Login_Page).WebEdit(Login_WebEdit_UserName).Set DataTable("用户名",Sheet_Name)
关于调用VBS,用resource方便一点,有些只能QTP执行的内容用代码导入可能会报错
或者用下面的试试
Sub importfile(filepath)
Set fso = CreateObject("Scripting.FileSystemObject")
Set ReadFile = fso.OpenTextFile(filepath,1)
ExecuteGlobal ReadFile.ReadAll
End Sub
作者:
xieyang702
时间:
2011-1-12 17:39
回复
7#
skyzhu
非常感谢,终于运行顺畅了
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2