51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1905|回复: 7
打印 上一主题 下一主题

[原创] 录制脚本时遇到的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-7-11 15:56:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用QTP的时间不长,今天在录制脚本时遇到了一个这样的问题

我录制的表格截图见附件

表格中一共有三列,我需要删除其中一行的时候只能点击最后一列的删除图片删除,问题就是无法定位

这三列中只有最后一列删除的有标志符index,我录制脚本的时候删除的是第二行,index的值为1,但如果在执行脚本的时候我需要删除的行在第三行,他仍然会去删除第二行的记录。

我尝试把index的值设为参数,但是因为其他列没有任何可以标识的属性,我没有办法取得对应的index,应该怎么办呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-7-11 18:08:01 | 只看该作者
楼主可以得到删除的总个数n,这样就可以删除最大index一个.前提是index最大那个就是最后那条纪录.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-7-12 09:35:51 | 只看该作者
但是问题是。。我不一定要删除最大的那个~我需要删除的是某个特定监控方向的记录,这个记录在表里的位置是随机的
我怎么能够根据监控方向来定位删除呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-7-12 10:34:29 | 只看该作者
关键就是在脚本中找到要删除那行的一个唯一识别属性。可以从两个思路去考虑:
1) 按照你已经试过的办法,找到index然后去点击最后一列。
得到index的办法就是遍历这个Table中的第1列,看要删除那行是第几行;或者找开发人员帮助,从数据库查询的角度去确定index;

2) 我觉得每行的第3列除了index以外,还应该有其他信息对应着该行数据。不然的话,数据库怎么删除这行数据呢?
你可以再用Spy看看有没有其他可以唯一识别该行的信息然后再利用。
我们的项目中删除按钮的属性中有一个属性是Value,Value的属性值对应被删除行的唯一ID。这样我们删除一行的时候都是先查询到ID,然后用类似WebButton("Value:=***").Click的语句去删除数据。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-7-18 21:42:27 | 只看该作者
支持!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-7-19 16:48:21 | 只看该作者
学习了
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-7-19 16:51:13 | 只看该作者
Dim name
Dim RowCount

For RowCount=2  to 50                                            '假设每页有50行,第一行一般为title,那从第二行开始循环

       name=Browser("browser").Page("XXX").Frame("XXXXXX").WebTable("企业代码").GetCellData(RowCount,2)   '这里我是根据表格的第二列去判断我要删除的行,因此,返回每一行第2列的值,并存入name这个变量

       If name="我要删除的那条记录的企业代码"  then                 '判断name是否是我想要删除的那行
                                               
               Browser("browser").Page("xxx").Frame("xxxxxx").Link("index:="&(RowCount-2)).Click      '如果是则去点对应的删除按钮
                                               
               Exit for
                       
        end if  
Next


需要说明的是Link("index:="&(RowCount-2)).Click  这句

索引( index ):指示该对象在应用程序代码中相对于其他描述都相同的其他对象的显示顺序。是从0开始的,而表格的行号是从1开始的,而且表格的第一行一般被title占了,所有这里行号跟'删除'按纽index的值刚好差2.
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-7-20 16:25:24 | 只看该作者

webtable

怎么我总是找不到对象
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 20:40 , Processed in 0.075649 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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