51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5331|回复: 25
打印 上一主题 下一主题

[原创] 关于对table的检查

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-6-29 13:44:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如果在录制的时候table中只有1行数据,而运行runtime时有多行数据,就是和录制的时候不一样,如果用table checkpoint可以顺利检查第一行,但是检查第一行得时候expected value还是第一行的值,相比当然就不正确。

难道只能一个一个取出table中的每行数据,再和datatable中的比较??checkpoint能不能更灵活一些呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-6-29 17:13:30 | 只看该作者
是不是希望checkpoint也能参数化的意思啊?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2005-6-29 17:57:49 | 只看该作者
是这个意思把,总觉得checkpoint不够灵活,只能对预期输出参数化,对位置什么的不能参数化,我录入可能只录一条,但是我run的时候可能是N条数据啊,总不可能让我录N条把,然后每个grid都选
自己老想如果是通过写脚本一个一个的循环比较,那还要checkpoint干什么呢。
况且我觉得实际中这样的情况很普遍,不知道大家都是怎么弄的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2005-6-30 09:15:35 | 只看该作者
经过自己的试验,CHECKPOINT是可以参数化的,
你再试试吧.
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2005-6-30 11:16:25 | 只看该作者

我还是没想出来

QA_BAY,暂时没想出来,你是根据设置table checkpoint中的cell identification来实现的么?

另外还有个问题,大家帮我看看。如附件图中
我想取到“SQ05060035”这个值,如果用webelement,则对象名称就是“SQ05060035”,这样下次运行就找不到这个object了。
因此我到上一层用webtable,这个webtable的名称是“询价单号:”,每次运行这个名称应该是不变的,因此我写
inq_no=Browser("Browser").Page("Page_7").WebTable("询价单号:").GetCellData(1,2)

但是多次调试,这个inq_no总是取不到值empty,百思不得其解,来此请教

[ Last edited by michelle_happy on 2005-6-30 at 11:20 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2005-6-30 11:38:02 | 只看该作者
Originally posted by michelle_happy at 2005-6-30 11:16 AM:
QA_BAY,暂时没想出来,你是根据设置table checkpoint中的cell identification来实现的么?

你会根据做DATATTABLE的参数化来做CHECKPOINT就可以了.方法一样.但只是对像不同而以.
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2005-6-30 17:11:22 | 只看该作者
Originally posted by QA_BAY at 2005-6-30 11:38 AM:

你会根据做DATATTABLE的参数化来做CHECKPOINT就可以了.方法一样.但只是对像不同而以.

恩,明白了,还是放到一个大的循环里来做,晕,脑子一时没转过来
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2005-6-30 17:59:02 | 只看该作者
成功了么?怎么做的呢?
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2005-7-1 09:34:06 | 只看该作者
录制的时候只录制单行table,修改脚本将checkpoint放入循环内,但是在选择checkpoint属性的时候要注意修改cell identification栏,如果不修改这一栏,就是按你当时录制选取的行列来定位,但是新增以后可能因为排序问题已经不在原来的位置了,通过cell identification实现自动定位,如图

我的Identify columns中by column name是灰色的不能用,不知道怎么回事。
再identify rows中选择by selected key columns ,然后选择一列,勾选use value match criteria to identify data in the key column。我选择多列运行失败,选择一列就成功,不知道怎么回事。
也许这个大家早都知道了,不过我是刚发现的,呵呵

lovetest6,我前面那个取不到值的问题你看出什么毛病没呢

[ Last edited by michelle_happy on 2005-7-1 at 09:36 ]

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2005-7-1 09:38:13 | 只看该作者
其实循环的问题和这个identify cell是没关系的,不过定位的问题也是困扰了我很久的问题
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2005-7-1 10:58:40 | 只看该作者
michelle_happy
我想前面取不到值的问题加个sync应该能解决吧?
否则真是有点儿太蹊跷了。

另外你查一下那里是不是一个TD啊,呵呵,小心被开发人员愚弄哦,呵呵。

以前钱我就遇到过一次,看着象td但实际上是做的效果。加个webtable的checkpoint看看那是个TD么。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2005-7-1 11:27:57 | 只看该作者
michelle_happy
明白你的意思了,现在是不是说,如果你录制的时候,页面上只有一行数据,然后你为它加了一个checkpoint,然后回放的时候,页面上有10条数据,你从数据库里面取出来的也是10条数据,然后把这10条数据放到sheet里面,然后修改了一下checkpoint的属性。

这时候你回放起来,就会重复10次。来检查页面上的10条数据是否正确。

有没有一个办法,能不循环重复,一下子就check了呢?

或者说即便循环也只是程序循环而不是页面不停的播放。

毕竟页面重复10次,效率一定不高啊。

[ Last edited by lovetest6 on 2005-7-1 at 11:30 ]
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2005-7-1 11:32:24 | 只看该作者
checkpoint查了半天也没找到什么好方法,没提供相关的函数说明啥的,只能在界面上做设置,
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2005-7-1 12:50:23 | 只看该作者
Originally posted by lovetest6 at 2005-7-1 11:27 AM:
michelle_happy
明白你的意思了,现在是不是说,如果你录制的时候,页面上只有一行数据,然后你为它加了一个checkpoint,然后回放的时候,页面上有10条数据,你从数据库里面取出来的也是10条数据,然后把这10条 ...

按你说的意思,
如果是这样检查,QTP是不可能实现的,他没有这个功能.
每次输入一个就作一次比较,这很正常阿!
除非你的方框一次可以输入很多,但这是不可能的!
检查网页链接就可以一次性检查所有的链接通不通!
觉得这个可以跟MI提建议,是个很好的方法,提高效率!
回复 支持 反对

使用道具 举报

该用户从未签到

15#
 楼主| 发表于 2005-7-1 13:28:13 | 只看该作者
Originally posted by lovetest6 at 2005-7-1 11:27 AM:
michelle_happy
明白你的意思了,现在是不是说,如果你录制的时候,页面上只有一行数据,然后你为它加了一个checkpoint,然后回放的时候,页面上有10条数据,你从数据库里面取出来的也是10条数据,然后把这10条 ...


如果我run的时候要输入10条数据,我都是输入一条后马上就检查的,输入10次数据页面本身也要重复10次啊,我在每次添加完毕紧接着check,这样check应该不会太麻烦把

如果是10条数据输入完了一起check的话,都不知道那个key identify能不能10条一起识别,没试过,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2005-7-1 14:27:54 | 只看该作者
Originally posted by michelle_happy at 2005-7-1 01:28 PM:

如果我run的时候要输入10条数据,我都是输入一条后马上就检查的,输入10次数据页面本身也要重复10次啊,我在每次添加完毕紧接着check,这样check应该不会太麻烦把


如果是10条数据输入完了一起check的话, ...

如果是你说的这种,QTP是可以做到的!
做法就是我前面所说的!
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2005-7-1 14:34:20 | 只看该作者
哦,明白你的意思了,
界面上应该是这样的吧:
一个form,你add,提交,然后返回一个list,其中包括所有的已经在数据库中的record.
是这样吧??

倘若是搜索,录制的时候值搜索出一条,你做了checkpoint,
播放的时候,数据库里数据多了,搜索结果是10条,你怎么办阿?
回复 支持 反对

使用道具 举报

该用户从未签到

18#
 楼主| 发表于 2005-7-1 14:44:18 | 只看该作者
我认为如果是做搜索、查询此类功能不应该用tale checkpoint,应该属于database checkpoint了,当然database checkpoint灵活度不大,我都是自己写脚本循环比较的。
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2005-7-1 15:19:34 | 只看该作者
自己写脚本循环比较的。
方便吗?
贴出来大家研究研究.
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2005-7-1 15:26:20 | 只看该作者
我也觉得无所谓
我认为查询功能的查询结果做checkpoint就没什么必要,呵呵。
只是想到这里,问问而已。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-10-6 06:40 , Processed in 0.113416 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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