51Testing软件测试论坛

标题: QTP中如何检查两个HTML页面背景颜色不同 [打印本页]

作者: fengshaoqing    时间: 2007-10-31 20:48
标题: QTP中如何检查两个HTML页面背景颜色不同
如题,点击两个按钮,弹出不同的两个页面,两个页面用不同的模板生成,但差别只在背景色,要通过QTP识别出两个页面的模板不同,不知道怎么加检查点?急需帮忙,多谢各位
作者: walker1020    时间: 2007-10-31 22:03
先用 Object Spy 看看 表示背景色 的属性是什么,然后自己写代码 去实现你要的检查吧
作者: fengshaoqing    时间: 2007-11-1 10:52
我写了一小段代码,如下
Dim elements,element,msg,strhtml,n
Set elements=Browser("内容管理").Page("预览页面").Object.getElementsByName("table")
For each element in elements
    strhtml=element.innerhtml
        n=instr(strhtml,"bgcolor='#BD9A77'")
    If n=0 Then
           msg="have not been modified"
    Else
         msg="have been modified"
    End If
Next
想通过这段代码得到“预览页面”中的所有table,然后看看是不是包含bgcolor='#BD9A77',结果debug时发现elements的值为<object>,element的值也为<object>,strhtml的值是一大段和“预览页面”不相关的html代码,根本没有table,不知道怎么回事???代码是我参照网上的例子写的,是不是理解不对,不应该这么用,希望指点一下

感谢!!!
作者: fengshaoqing    时间: 2007-11-1 11:40
这个问题大家都帮忙想想吧,我刚学QTP一周零4天,写代码都是照猫画虎,还不明就里,高人指点啊
作者: tonyzhangjie    时间: 2007-11-1 14:40
instr的参数应该有2个mandatory,是第二和第三个,你这样写默认的是第一个和第二个...
不太懂你写的方法,如果你是要得到“预览页面”中的所有table,建议用childobjects方法试试
作者: gavin.chen    时间: 2007-11-1 15:10
网页背景颜色的定义有多种不同方式。
如果是直接写在html脚本中的,可以直接用GetRoProperty来获取颜色。
不过稍微正规的网页都是在css文件中定义网页颜色等属性,这种情况下可以用:Object.currentStyle来获取相应的属性。下面这个例子你可以参考下。


Option Explicit
Dim TableObj
SystemUtil.Run &quot;iexplore.exe&quot;,&quot;http://www.google.com&quot;
Set oTableObj = Browser(&quot;Google&quot;).Page(&quot;Google&quot;).WebTable(&quot;WebTable&quot;).Object
CheckTableColor(oTableObj)

Function CheckTableColor(oObj)
CheckTableColor = oObj.currentStyle.backgroundColor
End Function
作者: fengshaoqing    时间: 2007-11-8 13:44
任务比较紧,我把这个问题绕过去了,在预览页面上加上一段比较明显的标记区别两个页面,在脚本执行后期在改回来:),大家的方法我有时间再试试,再次感谢




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