51Testing软件测试论坛

标题: 获取不到“点击菜单中的行“ [打印本页]

作者: ice1216    时间: 2010-3-29 17:26
标题: 获取不到“点击菜单中的行“
点击进入菜单后,再点击列表中的第一行,但是QTP没有记录到该动作。
请问是什么原因,要如何处理?多谢!

[ 本帖最后由 ice1216 于 2010-3-30 10:12 编辑 ]
作者: shotstar    时间: 2010-3-30 09:59
LZ提供信息太少了。。。至少提供个截图看看你的菜单是啥样子的吧。。。
如果录制不到对象,可以尝试手动向对象库添加对象。
作者: ice1216    时间: 2010-3-30 10:12
原帖由 shotstar 于 2010-3-30 09:59 发表
LZ提供信息太少了。。。至少提供个截图看看你的菜单是啥样子的吧。。。
如果录制不到对象,可以尝试手动向对象库添加对象。

图已经放上了,手动想对象库添加要如何操作呢?
作者: shotstar    时间: 2010-3-30 10:19
手动添加就是打开对象库,里面有个add object 什么的有个带加号的图标。点击后再点击对象就会给你列出对象来,然后确认即可。
你的图片是要点击左边的菜单是么?感觉那个好像是windows标准控件,不是web控件吧。你可以用Object Spy查看一下。
作者: ice1216    时间: 2010-3-30 11:13
原帖由 shotstar 于 2010-3-30 10:19 发表
手动添加就是打开对象库,里面有个add object 什么的有个带加号的图标。点击后再点击对象就会给你列出对象来,然后确认即可。
你的图片是要点击左边的菜单是么?感觉那个好像是windows标准控件,不是web控件吧。你可 ...

是WEB控件,添加到对象库后是解决了,多谢了!
还有个疑问,如果这个菜单每次都自动生成一些新的数据,而新的数据是自动排在第一行的。我每次进到这菜单后都要选择第一行数据要如何处理??
作者: shotstar    时间: 2010-3-30 12:07
你需要点的那个新的数据是个Link吧,假设是Link吧。
按照他所在的WebTable,他应该是第二行第二列的。那么建议把这个WebTable加入到对象库中,添加的时候如果有很多层,建议选择最底层的(即离Link最近的那个WebTable)
添加完成后你可以用下面的代码来点击你要的Link
Browser("xx").Page("xx").WebTable("xx").ChildItem(2,2,"Link",0).Click
最后ChildItem里面的各个参数含义就是获取表格第二行第二列的,类型为Link的,index为0(即第一个)的对象,然后接着就是Click点击操作。

在QTP帮助的Web部分,找到WebTable你会看到相应的方法。
作者: yujie6832    时间: 2010-3-30 12:55
还有,我估计菜单中的行不一定是用ROW来表示的,只要SPY能查的,是不可能获取不到的
作者: shotstar    时间: 2010-3-30 13:33
哦。我以为点右边的那个。。。左边的话其实和我给的方法类似,把行和列换一下就可以了,只要他是在WebTable里面。
作者: ice1216    时间: 2010-3-30 15:23
标题: 用ChildItem搞定了,多谢!
原帖由 shotstar 于 2010-3-30 13:33 发表
哦。我以为点右边的那个。。。左边的话其实和我给的方法类似,把行和列换一下就可以了,只要他是在WebTable里面。

rt




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