如何验证随机打开的页面中是否包含特定链接或图片
本帖最后由 chitty1204 于 2010-11-11 17:55 编辑Set oDesc = description.Create()
oDesc("micclass").value = "Image"
Set Lists = Browser("XXX").Page("XXXX").ChildObjects(oDesc)
NumOfImages = Lists.count()
Lists(i).click
到这里之后,打开的是一个新的页面。那现在我想判断下新打开的页面中是否包含有名为test.jpg的图片,下面的代码该怎么写呢?
我是绝对新手哈,请各位大侠赐教~~~ 等啊等啊等~~~ 关注 :L 关注 if Browser("XXX").Page("url:=.*").image("name:=test.jpg").exist(1) then
xxxxxxxxxxxxxxx存在
end if 回复 5# skyzhu
Page("url:=.*"),这样就能获取到新打开的页面名称吗? ....
Page("url:=.*") 不是获取新打开的页面名称
这个是 是指 所有打开的页面, 通配符 或是正则表达式。。。。
是指 在所有的browser下的所有page下 存在image = test.jpg
不过 这种 完全 通配的话可能时间效率上不高, QTP会一一比较 来匹配如果知道 这个新打开的页面的一些其他可遵循的属性那就更能精确定位了 回复 6# chitty1204
谢谢skyzhu。
刚试了一下,我用的是
If Browser("MEN - OPENING CEREMONY").Page("url:=.*").image("name:=france-flag-1.png").exist(1) then
reporter.ReportEvent micPass, "Find image", "Image is found!" //////为什么我这条语句在报告里没有呢???
end if
新打开的页面上是存在我所需要验证的图片,可是为什么report里前面么说.exist,可details那栏又说Object does not exist,这是什么情况呀?
回复 7# momang
谢谢哦,那应该怎么更有效得获得新打开的页面信息呢?能在我前面的代码基础上继续下去吗?
我知道新打开的页面URL里面都会包含有“productid=XX”(XX是编号) 回复chitty1204
谢谢skyzhu。
刚试了一下,我用的是
If Browser("MEN - OPENING CEREMONY").Page("ur ...
chitty1204 发表于 2010-11-12 11:00 http://bbs.51testing.com/images/common/back.gif
看你的report里 是有的这个if 的检查是成功的 发现了这个图 你可以调试一下 给图片名换成一个不存在的 再run一下 看看结果是什么
我好久没用QTP了 在公司机器上也没安装暂时尝试不了呃 前面只是给个提示。。。只是想说用类似方法解决
给个具体的
Lists(i).click 前获取链接地址,比如url = lists(i).GetROProperty("链接的属性")
然后
If Browser("MEN - OPENING CEREMONY").Page("url:=" & "链接地址").image("name:=france-flag-1.png").exist(1) then
PS: 直接用 url:=.* 在多个页面的情况下肯定找不到 回复 10# momang
可是为什么我要写的micpass这个没有呢? 回复 12# skyzhu
url = lists(i).GetROProperty("链接的属性")----我这里取到的只能是所点击的那个图片链接的属性,我刚用object spy看过那个图片链接的所有属性了,跟我所要的新打开页面的pagename没有关联。
可是我现在最需要的就是这个pagename,也就是page("")这里面的值呢。这个可以用什么方法取到呢? url = lists(i).GetROProperty("src")
url = lists(i).GetROProperty("href")
总有一个是的,否则怎么弹出正确的页面,然后拼在后面的url属性里,别去找什么pagename
If Browser("MEN - OPENING CEREMONY").Page("url:=" & url).image("name:=france-flag-1.png").exist(1) then 回复 15# skyzhu
恩,两个问题哦,
1. 我用了你说的Page("url:=" & url),可出来的report里面,还是跟上面的截图一样,说object does not exist.
2. 为什么我的reporter.ReportEvent micPass, "Find image", "Image is found!" 这句不会写入到report里呢? 回复 15# skyzhu
If Browser("MEN - OPENING CEREMONY").Page("url:=" & url).image("file name:=france-flag-1.png").exist then
reporter.ReportEvent micPass, "Find image", "Image is found!"
print "found!"
else
reporter.ReportEvent micFail, "Find image", "Image is not found!"
print "not found!"
end if
打开的页面里确实有france-flag-1.png这个图片,但就是不对。
刚加了这么几句,应该是if判断那里出了什么问题,report里面fail有显示出来了,not found也有打印出来。。。 问题1
1 请调试确认url取到的对不对
2 可能需要等待更长的时间,页面加载慢, exist可能需要放长时间
问题2
if条件不满足,当然就没执行这句话
另外上面的属性只是举例,具体值自己去调试分析才是目的
这种的测试没必要用QTP这样的界面自动化测试来做,速度很慢 回复 18# skyzhu
恩恩,谢谢你一直回复我哈。主要的问题解决了,其他的我会自己调试的~^_^
主要我现在有100多个页面需要核对里面是否包含有所需要的图片,所以就想到可以用QTP。这种case,你有其他更好的工具推荐吗? 这种方法也可以
For i=0 to NumOfImages-1
IF List(i).GetToProperty("name")="test.jpg" Then
MsgBox "Exist"
End IF
Next
页:
[1]
2