未来已来

解决RationalRobot获取htmlTableCell数据的技术

上一篇 / 下一篇  2008-09-09 12:53:45 / 个人分类:自动化测试

    昨天有位朋友通过msn加我,想解决RationalRobot如何获得HtmlTable中的Cell的数据问题,他在网上通过寻找以前的(2004-2005)年的帖子找到我,希望能解决这个问题,在论坛上大家给出的答案都是要扩展robot开发dll或者是解析网页,但是具体如何做没有给出代码,其实这个问题这么做就复杂了,robot我觉得是一个很不错的工具,2004年我写了很多关于robot心得的文章,记得第一篇在网络上发表的文章robot识别datagrid控件对象就是为了帮一个广州朋友解决问题得出的心得.
   问题是这样如何用rational robot获得htmltablecell的内容,这个robot本身确实做的不是很好,获得cell的数据需要根据索引来进行定位,我们先看如何获得htmltable的内容,我写了一个html页面文件代码如下:
<HTML>
<HEAD><TITLE>test</TITLE></HEAD>
<BODY>
<TABLE id=testaa>
   <TR>
      <TD>Jones</TD>
   </TR>
   <TR>
      <TD>Smith</TD>
   </TR>
   <TR>
    <TD>Harry</TD>
   </TR>
</TABLE>
</BODY>
</HTML>
保存为html文件后用ie打开,然后编写robot自动化测试代码如下:
Sub Main
   Dim Value as variant
    Window SetContext, "Caption=test - Microsoft Internet Explorer",""
    Browser NewPage,"",""
    SQAGetProperty "Type=HTMLTable;HTMLId= testaa","InnerText",value
    SQAConsoleWrite "Value : "& value
End Sub
获得数据为 jones Smith Harry
如何用robot获得其中cell中的单独数据呢,其实robot把html中的cell识别成htmltablecell对象,而获得其中的内容需要根据index来定位,我这个测试页面只有一个table,那么它的第一个cell的index就是1,第二个cell的index就是2
所以修改自动化测试脚本代码看如何获得第一个 第二个 第三个cell的数据,修改代码如下:
Sub Main
    Dim Result As Integer
    Dim iCellCount as Integer
    Dim Value as variant
    for iCellCount=1 to 3 
        Window SetContext, "Caption=test - Microsoft Internet Explorer",""
        Browser NewPage,"",""
        SQAGetProperty "Type=HTMLTableCell;index="+ iCellCount,"outerText",value
        SQAConsoleWrite Cstr(i iCellCount)+"Value : "& value
     next iCellCount 
End Sub

如果网页中有3个table,每个table横三行竖三列
table 1
---------------------------
  1  |     2      |      3 
---------------------------
  4  |     5      |      6 
---------------------------
table 2
---------------------------
  1  |     2      |      3 
---------------------------
  4  |     5      |      6 
---------------------------
table 3
---------------------------
  1  |     2      |      3 
---------------------------
  4  |     5      |      6 
---------------------------
如果要获得第二个table中的第一个cell中的内容,那么index就是7

以上为利用robot自身解决获得cell表格内容的方法,当然还有其他网友提供的解析页面文件的方法,利用dom技术。


TAG: 自动化测试

zhoupo 引用 删除 zhoupo   /   2009-09-17 17:58:26
写得不错,顶一个!
 

评分:0

我来说两句

Open Toolbar