51Testing软件测试论坛

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

作者: deadhunter    时间: 2010-8-13 09:44
标题: 一个简单的登录操作,但是运行很慢,要几分钟,请教大师们是啥原因导致?
请教一个问题,为什么下面的代码运行这么慢

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
作者: msnshow    时间: 2010-8-15 18:15
手工运行的话情况如何
作者: kavensyw    时间: 2010-8-15 21:53
会不会是找验证对象等是否存在的时间太长了
比如: obj.Exist 的时间太长了?
我一般习惯obj.Exist(s)的形式

[ 本帖最后由 kavensyw 于 2010-8-15 21:55 编辑 ]
作者: xue202757    时间: 2010-8-16 18:11
是否关联了Recovery Scenario?
作者: zwd183335    时间: 2010-8-17 13:27
obj.Exist可以设置TimeOut
作者: zwd183335    时间: 2010-8-17 13:28
还有运行模式有快速模式,在设置里
作者: deadhunter    时间: 2010-8-26 15:42
原帖由 zwd183335 于 2010-8-17 13:27 发表
obj.Exist可以设置TimeOut


请问在哪设置呢?
作者: deadhunter    时间: 2010-8-26 15:43
原帖由 msnshow 于 2010-8-15 18:15 发表
手工运行的话情况如何


你指单独录制脚本来运行,还是手工操作登录,如果手工操作很快就完成
作者: sogohu    时间: 2010-8-27 10:03
标题: 回复 8# 的帖子
感觉是obj.exsit 的问题,换成waitproperty,应该会快点




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