51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2222|回复: 7
打印 上一主题 下一主题

[原创] 把对象库和脚本分离,但运行出问题?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-1-11 17:36:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对象库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里加这个对象文件,也不行。
为啥啊?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2011-1-11 18:41:05 | 只看该作者
调试一下,看objectFilePath 取的路径对不对
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2011-1-12 09:08:30 | 只看该作者
回复 2# gztester

objectFilePath = pathFind(Environment("objectScriptFolderName"),"login","vbs")
上面那句取得的objectFilePath是对的 ,执行到下面这句就不行了            
ExecuteFile(objectFilePath) '加载对象库         
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-1-12 09:16:51 | 只看该作者
报什么错啊?截个图看看

改成这样试试:
ExecuteFile    objectFilePath  '加载对象库
回复 支持 反对

使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-10 17:57
  • 签到天数: 35 天

    连续签到: 1 天

    [LV.5]测试团长

    5#
    发表于 2011-1-12 11:33:10 | 只看该作者
    LZ把报错信息发上来看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2011-1-12 15:55:42 | 只看该作者
    本帖最后由 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'
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2011-1-12 17:11:40 | 只看该作者
    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
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
     楼主| 发表于 2011-1-12 17:39:06 | 只看该作者
    回复 7# skyzhu

    非常感谢,终于运行顺畅了
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-21 00:16 , Processed in 0.075653 second(s), 30 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表