51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2284|回复: 8
打印 上一主题 下一主题

[原创] 一个简单的登录操作,但是运行很慢,要几分钟,请教大师们是啥原因导致?

[复制链接]
  • TA的每日心情
    郁闷
    2018-11-15 14:58
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2010-8-13 09:44:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    请教一个问题,为什么下面的代码运行这么慢

    Function setObj(obj,operator,value)
            Dim errMsg,succMsg
            If Not obj.Exist Then
                    errMsg = obj.ToString & " 不存在"
                    'errMsg = "对象不存在"
                    Log "STEP", errMsg
                    setObj = False
                    Exit Function
            End If

            Select Case operator
            Case 1
                    '执行set方法
                    succMsg = obj.ToString & " set " & value
                    obj.Set value
                    Log "STEP", succMsg
            Case 2
                    '执行Click方法
                    succMsg = obj.ToString & " 执行方法Click "
                    obj.Click
                    Log "STEP", succMsg
            Case 3
                    '执行Object.innerText属性
                    succMsg = obj.ToString & " Object.innerText set " & value
                    obj.Object.innerText = value
                    Log "STEP", succMsg
            Case 4
                    '判断item的值是否在weblist中
                    If Not checkWebList(obj,value) Then
                            errMsg = obj.ToString & " 中item不存在" & value
                            setObj = False
                            Log "STEP", errMsg
                            Exit Function
                    End If
                    succMsg = obj.ToString & " Select " & value
                    obj.Select value
                    Log "STEP", succMsg
            Case 5
                    '判断item值是否正确
                    'If CInt(value)>CInt(obj.GetROProperty("items count")) Then
                    '        errMsg = obj.ToString & " 中item不存在" & value
                    '        setObj = False
                    '        Log "STEP", errMsg
                    '        Exit Function
                    'End If
                    succMsg = obj.ToString & " Select " & value
                    obj.Select value
                    Log "STEP", succMsg
            Case 6
                    '执行验证码set方法
                    succMsg = obj.ToString & " set " & value
                    obj.Click
                    obj.Set value
                    Log "STEP", succMsg
            End Select
            setObj = True
    End Function

    Function login(email,password)
            Log "STEP","in Function login()"
           
            '关闭所有浏览器窗口
            closeBrowser()
            '创建IE
            OpenWeb("http://test/login.html")
           
      If Not setObj(Browser("test").Page("test").WebEdit("email"),1,email)  _
        And setObj(Browser("test").Page("test").WebEdit("password"),1,password)  Then
    '          Or setObj(Browser("test").Page("test").WebEdit("验证码"),1,code)
      Log "STEP","找不到登录入口"
      Exit Function
      End If
      
      If Not setObj(Browser("tett").Page("test").WebButton("登录"),2,"")  Then
              Log "STEP","找不到登录按钮"
        Exit Function
      End If
      
      If isExist(Browser("test").Page("test").Link("退出"))  Then
         login=true
      End If
      
    End Function
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    2#
    发表于 2010-8-15 18:15:50 | 只看该作者
    手工运行的话情况如何
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-10-19 13:26
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    3#
    发表于 2010-8-15 21:53:27 | 只看该作者
    会不会是找验证对象等是否存在的时间太长了
    比如: obj.Exist 的时间太长了?
    我一般习惯obj.Exist(s)的形式

    [ 本帖最后由 kavensyw 于 2010-8-15 21:55 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2010-8-16 18:11:29 | 只看该作者
    是否关联了Recovery Scenario?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2010-8-17 13:27:50 | 只看该作者
    obj.Exist可以设置TimeOut
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2010-8-17 13:28:45 | 只看该作者
    还有运行模式有快速模式,在设置里
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-11-15 14:58
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    7#
     楼主| 发表于 2010-8-26 15:42:33 | 只看该作者
    原帖由 zwd183335 于 2010-8-17 13:27 发表
    obj.Exist可以设置TimeOut


    请问在哪设置呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-11-15 14:58
  • 签到天数: 2 天

    连续签到: 2 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2010-8-26 15:43:53 | 只看该作者
    原帖由 msnshow 于 2010-8-15 18:15 发表
    手工运行的话情况如何


    你指单独录制脚本来运行,还是手工操作登录,如果手工操作很快就完成
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2010-8-27 10:03:07 | 只看该作者

    回复 8# 的帖子

    感觉是obj.exsit 的问题,换成waitproperty,应该会快点
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 07:51 , Processed in 0.072055 second(s), 32 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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