qtp11 exist的问题
对象库:页面:代码:oXitong=Browser("网").Page("社区").WebElement("系统忙,请稍后再试。").Exist
运行后,发现,智能识别这个对象后,oXitong=true
页面上明明是:请输入帐号
这是怎么回事呢 ~某些控件不是你看不到他就不存在,只是隐藏了 也就是说有时候exist并不一定好使,是吧 也就是说有时候exist并不一定好使,是吧
robinpipi 发表于 2012-12-6 16:08 http://bbs.51testing.com/images/common/back.gif
不是,exist 与 visible是两个不同的属性哦~ 何时用exist,何时用visible逮试过了,才知道吧 呵呵 这么说也不能说错啦~ 回复 1# robinpipi
你看下对象库中记录的那些对象的属性,有的时候,控件记录的属性没有记录一个控件上的显示的文字,即:对象库记录了这个框,但没记录框里的文字。
这时候,这个控件用Exist是判断框的存在而不是文字,所以只要框存在文字是什么都是True。
这是一种可能性。
具体是什么原因,LZ需要好好检查一下~ 这是一个webelement,属性里面是有innertext记录了文字的。 这是对象库,当页面上提示语是:请输入帐号。这时 “系统忙”这个对象会智能识别,然后最后匹配出来是true。 回复 9# robinpipi
你关掉智能识别试试吧~ 对于弹出提示消息,出现的方式基本有两种。
一种是从无到有新生成一个弹出信息,即,webElement.exist属性从False 到 True
另一种是该消息一直存在,当触发会消息从隐藏状态变成显示状态,即,WebElement.Object.visible=Flase 到 True.【这里属性不一定叫visible,也可能叫hidden,叫张三,需要你自己去观察】
如果是类型2,你只需要抓取两种状态时的HTML,对节点属性做对比即可找出区别,节点doc抓取推荐工具debugBar
ps,exist和visible是有因果关系的属性,不能理解为相同层级属性 我想这块应该是智能识别的问题,当找“系统忙”找不到时候,就会接着采用智能识别,而“请输入帐号”的这个对象的某些属性跟“系统忙”是一致的,当匹配到接下来的属性,就认为是true了 我也碰到类似问题,关掉智能识别的 回复 4# xjwldlover
我测试C#程序,当控件隐藏后,用Visible仍然是True,好痛苦。
页:
[1]