51Testing软件测试论坛

标题: 如何处理因为index变化,导致运行脚本失败的情况 [打印本页]

作者: ylm77ojn    时间: 2008-7-10 17:04
标题: 如何处理因为index变化,导致运行脚本失败的情况
脚本如下:
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变化,导致正常的操作不执行,做了错误的操作
作者: 假装不在    时间: 2008-7-10 17:50

很明显你这些对象是存放在对象库中的。所以...嘿嘿,我们要处理就简单多了,你是刀俎它是鱼肉么。
操作步骤:
1,打开对象库,选中你的那个对象,也就是个image s  
2,把识别对象的一些标示去掉,例如index,换成它的file name,或者其它...
作者: zte_boy    时间: 2008-7-10 17:52
换其他静态属性进行识别或者用描述性编程获取对象处理吧,以前也处理过这类的问题,代码找不着了,LZ自己处理下
作者: ylm77ojn    时间: 2008-7-10 23:08
标题: 回复 2# 的帖子
脚本中还存在其他image对象,譬如s_1,s_2,s_3...
我在对象库中查看过这些对象的属性,name,file name,class这些对象都一样,name=Image,file name=s.gif
不同的最明显的就是index,录制脚本后index不一样
还有点,运行的系统页面肯定还存在image对象,只是脚本中没体现,所以才会出现执行其他操作的动作
我现在不清楚的是使用什么方法,让这些对象有区别,不使用index来标识
作者: ylm77ojn    时间: 2008-7-25 14:33
标题: 回复 2# 的帖子
我页面有多个image对象,属性值都相同,录制完脚本后,唯一不同就是index不同
但我运行脚本时,因为已经增加了一个菜单,导致运行系统对象image的index变化了的,qtp在系统中寻找跟对象库中匹配的对象,结果就执行了点击另外一个image对象的操作
作者: ylm77ojn    时间: 2008-7-25 15:34
标题: 回复 3# 的帖子
示意图
[attach]44305[/attach]




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