51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2701|回复: 13
打印 上一主题 下一主题

[原创] Object Repository的生成问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-5-21 15:26:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. dim num
  2. num=2
  3. Do while num<10
  4.         Browser("== 欢迎光临 ==").Page("系统").Frame("main_2").WebElement("节点1备_" & num).Check CheckPoint("节点1备_"  & num)
  5.         num=num+1
  6. Loop
复制代码
由于WebElement有多个,手工添加到Object Repository里很麻烦,有没有办法批量处理或者通过脚本创建?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-5-21 16:18:41 | 只看该作者
建议:如果是相同对象的属性,可以试试用index来区别,以实现脚本控制
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-5-21 16:35:47 | 只看该作者
麻烦楼上详细说说,谢谢!
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-5-21 16:42:05 | 只看该作者
建议不要用CheckPoint,而是自己取属性来判断:
dim num
num=2
Do while num<10
        XXXValue = Browser("== 欢迎光临 ==").Page("系统").Frame("main_2").WebElement("节点1备_" & num).GetROProperty("XXX")
        If XXXValue <> YYY Then
              ...
        Else
               ...
        End If
        num=num+1
Loop
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-5-21 17:02:54 | 只看该作者
个人建议:
对于具有相同属性的对象,可以通过index参数来对其进行区别,第一个对象为index=0,第二个为index=1等等,依次类推

   Browser("== 欢迎光临 ==").Page("系统").Frame("main_2").WebElement("节点1备_" & "index:="&num).****(具体操作)

[ 本帖最后由 sc_zk2008 于 2010-5-21 17:05 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-5-21 17:10:21 | 只看该作者
首先,同时添加多个Webelement可以选择它的上一级对象,点击添加,这样就可以将同在这个对象下的对象都加到对象库中,然后删除不需要的

其次,可以不加对象,通过描述性编程来实现对象Webelement的选择,如:  object.Webelement("html id:=***"&num),里面的属性值找有规律的且唯一的属性来识别
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-5-24 09:37:14 | 只看该作者
原帖由 TIB 于 2010-5-21 16:42 发表
建议不要用CheckPoint,而是自己取属性来判断:
dim num
num=2
Do while num


不用CheckPoint可以怎样检查?能否写详细点,我是初学者。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-5-24 09:39:52 | 只看该作者
原帖由 souchy 于 2010-5-21 17:10 发表
首先,同时添加多个Webelement可以选择它的上一级对象,点击添加,这样就可以将同在这个对象下的对象都加到对象库中,然后删除不需要的

其次,可以不加对象,通过描述性编程来实现对象Webelement的选择,如:  ob ...

第一个方法,点击添加的话,要用鼠标一个一个对象选,一次添加操作只能选一个,太麻烦吧;
第二个方法,不大理解
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2010-5-24 09:41:02 | 只看该作者
原帖由 sc_zk2008 于 2010-5-21 17:02 发表
个人建议:
对于具有相同属性的对象,可以通过index参数来对其进行区别,第一个对象为index=0,第二个为index=1等等,依次类推

   Browser("== 欢迎光临 ==").Page("系统").Frame("main_2").WebElement("节点1备 ...


你那个index都不知道用来干啥的,忽悠人?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-5-24 15:37:43 | 只看该作者

回复 9# 的帖子

晕,其实也就是6楼说的描述性编程
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-5-25 14:47:24 | 只看该作者
论坛的高手还是多,新人受教了;
再问下:
按照描述性编程搞出来后,不能用checkpoint了吧,这时该怎样自动检查结果是否正确呢?谢谢!
dim num
num=1
Do while num<6
    tmp=Browser("== 欢迎光临资料设置系统 ==").Page("资料设置系统").Frame("main_2").WebElement("index:="&num).GetROProperty("innerText")
        msgbox(tmp)
        num=num+1
Loop

我发现tmp用msgbox打印出来是空,因此知道比较多WebElement的内容不属于我想要的那个WebElement,困惑。
另外再问一下,该怎样自动检查结果是否正确呢(不能用checkpoint的话),只能用msgbox打印出来吗?

[ 本帖最后由 dl0622 于 2010-5-26 08:56 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-5-25 17:33:35 | 只看该作者
没人忽悠你,低调哈
http://bbs.51testing.com/viewthr ... p;page=1#pid1517876
有时后不一定是index,有时候是name,反正你有spy抓两个对比一下,就知道是哪个属性在递增
你11楼的问题,请看yabest这个帖子,已经推荐给N个人看了
http://bbs.51testing.com/thread-87074-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2010-5-26 08:59:11 | 只看该作者
修改了11楼的问题,麻烦继续帮忙解答,谢谢!
楼上的兄弟似乎没有回答到我的问题,yabest那个帖子暂时理解不了那么多,qtp上周才刚开始用,要理解那个帖子得有一定qtp操作经验吧。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-5-26 11:36:40 | 只看该作者
不是很确定LZ需要检查的内容是什么,但提供个建议思路:
第一步:将你要检查的内容赋值给变量
第二步:将赋值后的变量与预期值进行比较(用strcomp、instr等函数)
第三步:根据比较结果,输出相应的验证结果(可以用reporter.reportevent输出到报告)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-26 14:43 , Processed in 0.078460 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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