51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2212|回复: 5
打印 上一主题 下一主题

[原创] 如何处理因为index变化,导致运行脚本失败的情况

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-10 17:04:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本如下:
Browser("Welcome to CuteFramework2008").Page("Welcome to CuteFramework2008").WebButton("登录").Click
Browser("Welcome to CuteFramework2008").Page("首页").WebElement("WebTable").Click
Browser("Welcome to CuteFramework2008").Page("首页").Link("系统菜单设置").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("添加根菜单").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("resourceName").Set DataTable("resourcename", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("linkPath").Set DataTable("linkpath", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("target").Set DataTable("target", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("navIcon").Set DataTable("navlcon", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("cls").Set DataTable("cls", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("handler").Set DataTable("handler", dtLocalSheet)

Browser("Welcome to CuteFramework2008").Page("首页_2").Image("s").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebElement("BIEE").Click
wait(2)
Browser("Welcome to CuteFramework2008").Page("首页_2").Image("s_6").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebElement("一号机").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebEdit("description").Set DataTable("desc", dtLocalSheet)
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("保存").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebButton("确定").Click


其中脚本Browser("Welcome to CuteFramework2008").Page("首页_2").Image("s").Click
Browser("Welcome to CuteFramework2008").Page("首页_2").WebElement("BIEE").Click
为选择一下拉框代码
Image("s")的index为13
本来是好的,我可以新增一根菜单aaa
但我新增了另外一个根菜单bbb后,再运行该脚本,脚本运行到Browser("Welcome to CuteFramework2008").Page("首页_2").Image("s").Click时,页面竟然执行了另外的操作
点击选中了另外一个对象,从而导致Browser("Welcome to CuteFramework2008").Page("首页_2").WebElement("BIEE").Click也不能执行下去,不能新增成功
用object spy查看image s,发现index变为了27
为什么页面执行了另外的操作,点击选中了另外一个对象呢?---查看该对象,发现该对象index为13,也是一个image对象.

请各位大侠看下,如何处理这种情况,因为index变化,导致正常的操作不执行,做了错误的操作
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-10 17:50:56 | 只看该作者

很明显你这些对象是存放在对象库中的。所以...嘿嘿,我们要处理就简单多了,你是刀俎它是鱼肉么。
操作步骤:
1,打开对象库,选中你的那个对象,也就是个image s  
2,把识别对象的一些标示去掉,例如index,换成它的file name,或者其它...
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-7-10 17:52:29 | 只看该作者
换其他静态属性进行识别或者用描述性编程获取对象处理吧,以前也处理过这类的问题,代码找不着了,LZ自己处理下
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-7-10 23:08:53 | 只看该作者

回复 2# 的帖子

脚本中还存在其他image对象,譬如s_1,s_2,s_3...
我在对象库中查看过这些对象的属性,name,file name,class这些对象都一样,name=Image,file name=s.gif
不同的最明显的就是index,录制脚本后index不一样
还有点,运行的系统页面肯定还存在image对象,只是脚本中没体现,所以才会出现执行其他操作的动作
我现在不清楚的是使用什么方法,让这些对象有区别,不使用index来标识
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-7-25 14:33:19 | 只看该作者

回复 2# 的帖子

我页面有多个image对象,属性值都相同,录制完脚本后,唯一不同就是index不同
但我运行脚本时,因为已经增加了一个菜单,导致运行系统对象image的index变化了的,qtp在系统中寻找跟对象库中匹配的对象,结果就执行了点击另外一个image对象的操作
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-7-25 15:34:15 | 只看该作者

回复 3# 的帖子

示意图

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-10-6 12:30 , Processed in 0.091960 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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