QTP vbs判断弹出窗口中是否出现对象库中的输入框?如何判断
目前,我这边在项目中存在一个这样的问题,程序页面中需要对于一个弹出窗进行设置选择,而这个窗根据你之前的选择,弹出窗的内容不一样,我现在是这样判断的,对象库中抓取了所以关于弹出窗的里面的对象,
如果这个弹出窗存在
if window("A").Exist then
if window("A").winedit("aaa").obj.exist(0) then
进行赋值
end if
if window("A").winedit("bbb").obj.exist(0) then
进行赋值
end if
end if
但是目前,测试结果是 程序能够正确执行,但是会报错,例如弹出窗只有aaa,没有bbb 那么bbb就会报无法标识的错误,而且这种判断要耗时比较久?
哪位高手知道问题所在? 不是很明白你的意思
你用正则表达式来实现一下,看是否可以 if window("A").Exist then
if window("A").winedit("aaa").exist(0) then
进行赋值
end if
if window("A").winedit("bbb").exist(0) then
进行赋值
end if
end if 目前,我这边在项目中存在一个这样的问题,
程序页面中需要对于一个弹出窗进行设置选择,而这个窗根据你之 ...
hotsmile99 发表于 2011-3-22 21:41 http://bbs.51testing.com/images/common/back.gif
刚好在做一个类似的,设置一个超时时间,一个DO跳出
nTimeout=1
if window("A").Exist then
do
if window("A").winedit("aaa").obj.exist(0) then
进行赋值
exit do
else if window("A").winedit("bbb").obj.exist(0) then
进行赋值
exit do
Else nTimeout=nTimeout+1
end if
end if LZ这里的winedit不知还有其他属性可以识别么, 不然可以用GetRoProperty来读取属性, 再判断, 参考如下:
if window("A").Exist then
ccc = window("A").winedit("xxx").GetRoProperty("name") '如果"aaa","bbb"是指name的属性
If Trim(ccc) = "aaa" Then
进行赋值
Elseif Trim(ccc) = "bbb" Then
进行赋值
End if
end if
如果没有的话, 那就判断exist的方法吧 用if ... then...elseif...end if
如果你的弹出框的种类比较多的话 用楼上的方法比较节省时间
LZ这里的winedit不知还有其他属性可以识别么, 不然可以用GetRoProperty来读取属性, 再判断, 参考如下:
if window("A").Exist then
ccc = window("A").winedit("xxx").GetRoProperty("name") '如果"aaa","bbb"是指name的属性
If Trim(ccc) = "aaa" Then
进行赋值
Elseif Trim(ccc) = "bbb" Then
进行赋值
End if
end if
如果没有的话, 那就判断exist的方法吧 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 回复 6# cooleenjunjun
问题已经解决了,我把那些弹出的框的 enable smart identification 设置为false就可以了
不然即使用了exist(0)也要等待了20秒差不多,问题已经解决。谢谢. 本帖最后由 风雪夜归人 于 2011-3-24 10:59 编辑
.....回复的还真多。。
Exist(0)和Exist一样的效果。。
建议Exist(1)
另外 if window("A").Exist then这句话的Exist也建议加个Exist(5)
我一直都在建议Exist后面加个时间~~ 楼上正解, Exist(time) 指定时间,你如果要设成0就是默认的超时时间。
所以 if obj.Exist(5)then 如果5秒内找到对像则。。。。 exist 如果不带时间的话,默认时间不是10秒吗? 可以在SETTING里面改时间,它默认的是20秒,我一般都改成1秒 用select case不是更好? 好
页:
[1]