把对象库和脚本分离,但运行出问题?
对象库object/login.vbsSet 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里加这个对象文件,也不行。
为啥啊? 调试一下,看objectFilePath 取的路径对不对 回复 2# gztester
objectFilePath = pathFind(Environment("objectScriptFolderName"),"login","vbs")
上面那句取得的objectFilePath是对的 ,执行到下面这句就不行了
ExecuteFile(objectFilePath) '加载对象库 报什么错啊?截个图看看
改成这样试试:
ExecuteFile objectFilePath'加载对象库 LZ把报错信息发上来看看 本帖最后由 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' 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 回复 7# skyzhu
非常感谢,终于运行顺畅了
页:
[1]