51Testing软件测试论坛

标题: 遇到个问题 [打印本页]

作者: yueye    时间: 2006-9-21 15:59
标题: 遇到个问题
网页运行到某一步的时候要进行后台操作,时间比较长,操作完成后会弹出一个操作完成的提示。
现在用QTP测试的时候,qtp不会等待操作完成的提示弹出来,直接向下运行了,所以出现错误。
该怎么解决呢?
除了测量操作所要的时间,然后设置QTP等待时间~
thx && bow~~
作者: walker1020    时间: 2006-9-21 16:26
自己写判断语句吧。 判断你说的“网页运行到某一步的时候要进行后台操作” 完成后的对象是否存在。如果存在就进行下面的操作,下面是 一些 sample code:
  If   Browser("***").Page("***").object.Exist  Then
          ...............
  Else
        ...............
  End if
作者: yueye    时间: 2006-9-21 16:49
原帖由 walker1020 于 2006-9-21 16:26 发表
自己写判断语句吧。 判断你说的“网页运行到某一步的时候要进行后台操作” 完成后的对象是否存在。如果存在就进行下面的操作,下面是 一些 sample code:
  If   Browser("***").Page("***") ...


那现在想判断这个页面如果不存在,就wait 10000
如果存在,就继续向下走
该怎么写呢?
我想这么写的,不过好像没有break这个关键字啊。。。、
While 1
         If  Browser("OpenPrint/ePrint Login").Window("Create CD Image -- 网页对话框").Page("Create CD Image_2").Exist Then
                break
        else
                wait 1000
        End If
Wend
还有QTP里用的是什么语法呢?vbscript?
想查查相关资料,谢谢斑竹了~

[ 本帖最后由 yueye 于 2006-9-21 16:54 编辑 ]
作者: maguschen    时间: 2006-9-21 17:16
应该可以这样

  1. If   Browser("***").Page("***").object.Exist(10000)  Then
  2.           ...............
  3. End if
复制代码


.Exist(10000) 就是检测这个对象是否存在,超时时间 10000秒 (仿佛太长了吧)

还有,感觉加上同步点也可以解决问题

我是新手……说错请指正啊sdlkfj6
作者: xiaonan    时间: 2006-9-21 17:23
QTP里用的vbscript语法.楼上朋友说的对,即使想用Exist来判断,最好也给他一个超时时间去判断.同步点的确也是个不错的方法
作者: kissing    时间: 2006-9-22 10:43
在你运行的步骤的语句后边,比如你是点击查询后,页面需要很长时间才能刷新,就写加一句wait(10),里边的数字是秒数,很管用的




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