51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1597|回复: 2
打印 上一主题 下一主题

[原创] 测试web页面如何点击webtable中的image

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-3-25 16:18:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小弟初学QTP用于测试公司的软件。被测软件有一个删除功能,删除按钮是图片。删除按钮与被删除项的名称一起存放在一张table里。页面结构大体如下所示

  1. <table width="100%" cellpadding="0" cellspacing="2">           
  2.            <tr>
  3.             <td nowrap="nowrap">
  4.              <img src="/common/images/layout/arrow_black_right.gif" border="0"/>
  5.              <a class="navitem" href="javascript:funOpenNaviLink('account&listId=12ZHZZRSW0','listmain','1');">QTP-客户名称-包含-姓名</a>
  6.             </td>
  7.             <td align="left">
  8.              <img align="middle" style="cursor: hand" onclick="javascript:funOpenLinkPartReshCfm('userViewShow','list','account','act','delview','forward','delListId=12ZHZZRSW0&reshflag=0');" alt="删除" src="/common/images/icon_clear.gif" />
  9.             </td>
  10.            </tr>
  11.            
  12.            <tr>
  13.             <td nowrap="nowrap">
  14.              <img src="/common/images/layout/arrow_black_right.gif" border="0"/>
  15.              <a class="navitem" href="javascript:funOpenNaviLink('account&listId=1306MXZH3H','listmain','1');">QTP-客户名称-非空-</a>
  16.             </td>
  17.             <td align="left">
  18.              <img align="middle" style="cursor: hand" onclick="javascript:funOpenLinkPartReshCfm('userViewShow','list','account','act','delview','forward','delListId=1306MXZH3H&reshflag=0');" alt="删除" src="/common/images/icon_clear.gif" />
  19.             </td>
  20.            </tr>
  21.            
  22.            <tr>
  23.             <td nowrap="nowrap">
  24.              <img src="/common/images/layout/arrow_black_right.gif" border="0"/>
  25.              <a class="navitem" href="javascript:funOpenNaviLink('account&listId=145PTOG3VS','listmain','1');">QTP-客户名称-不包含-test</a>
  26.             </td>
  27.             <td align="left">
  28.              <img align="middle" style="cursor: hand" onclick="javascript:funOpenLinkPartReshCfm('userViewShow','list','account','act','delview','forward','delListId=145PTOG3VS&reshflag=0');" alt="删除" src="/common/images/icon_clear.gif" />
  29.             </td>
  30.            </tr></table>
复制代码
现在想删除名称为“QTP-客户名称-非空-”的项目,已查出其在第2行,想点击第2行第2列的删除图片,求教脚本应该怎么写?

我按照论坛里搜索到的通过ChildItem获得指定单元格中的链接对象,并点击的方法去尝试了,结果报“缺少对象”。使用脚本如下

  1.   Dim objDelTable, objDelButton
  2.   Set objDelTable = Browser("TEST").Page("TEST_2").Frame("Frame").WebTable("待删除的项目")
  3.   Set objDelButton = objDelTable.ChildItem(intRow, intCol, "Link", 0)
  4.   objDelButton.click
复制代码
后来我以为因为table中存放的是图片,就将第3行修改为

  1. Set objDelButton = objDelTable.ChildItem(intRow, intCol, "Image", 0)
复制代码
依然报“缺少对象”的错误。我这里实在是搞不明白了。请各位前辈指点,告知正确的方法。

[ 本帖最后由 flankerzhou 于 2010-3-25 16:37 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-3-25 22:19:18 | 只看该作者
Set objDelButton = objDelTable.ChildItem(intRow, intCol, "Image", 0)

请问是否给intRow和intCol赋值?如果需要点第二行第二列单元格里面的这个图片要写成
Set objDelButton = objDelTable.ChildItem(2, 2, "Image", 0)

如果你已经赋值了还是有这个问题,最大的可能就是Table对象没有正确的获取到。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-3-26 15:10:42 | 只看该作者
感谢shotstar的帮助。

我intRow和intCol已经正确赋值。
Table对象应该也没问题,因为在查询的时候,用GetCellData可以得到项目的名称。

今天按照你说的重新添加了一次Table,目前问题已经解决了,只是很奇怪昨天为什么会报错。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-26 22:45 , Processed in 0.095177 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表