51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6684|回复: 28
打印 上一主题 下一主题

[原创] 同一脚本里描述性编程对象第二次使用会报错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-21 16:04:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").WebCheckBox("type:=checkbox", "html id:=ckb_2", "html tag:=INPUT")
我在一个脚本里两次用到下面的对象WebCheckBox,第一次使用没有问题,第二次使用会报以下错误(这个对象在两次使用的时候属性都一样,不知有没有什么好的办法解决)


The "[ WebCheckBox ]" object's description matches more than one of the objects currently displayed in your application. Add additional properties to the object description in order to uniquely identify the object.
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-7-21 16:49:14 | 只看该作者
没人遇到过这个问题么,
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-7-21 16:55:30 | 只看该作者
提示已经告诉你了,找到了多个匹配的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-21 16:56:02 | 只看该作者
这种问题的意思就是,有两个一样的控件在一个页面上,必须添加其唯一标识,一般html id:=ckb_2", 就是唯一标识,你两个一样的,肯定出问题
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-7-21 16:56:27 | 只看该作者
用SPY查看出两个CHECKBOX的不同的HTML ID吧,就没问题了额
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-7-21 16:57:05 | 只看该作者

回复 3# 的帖子

嗯,因为parent 对象是时刻变化的,所以当时采用的办法是直接取子对象的属性来描述子对象,没想到有两个地方都用到这个对象的时候就报错了,有好的办法解决么
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2010-7-21 16:59:21 | 只看该作者
可是,两次使用的时候,我在对象库里对比了一下,html id值一摸一样的
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2010-7-21 17:02:19 | 只看该作者

回复 5# 的帖子

可是,两次使用的时候,我在对象库里对比了一下,html id值一摸一样的
换句话说其实是调用了几乎相同的东西。只是我是在两个action里用到了,所以第二次再识别这个对象的时候,会有这个问题,我想知道有没有办法解决,迂回解决也行啊
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2010-7-21 17:12:23 | 只看该作者

知道这是什么吗

526172211A07003BD07308000D00000000000000317E74C0802C00CD9D1D0000A02400020FEDBF28CF96633C1D350C002000000049504F50332E33312E45584510219114C895A198161A24240201008241012010487027F0040410871C38538D01053818
0C04E0840101412408714204041054541454504608290115820848B158A8A454160B1DA282A222A3B3827B5DEF7BEFBDEF6F01BEFF7DF6BDAF2BCF979F6F27C3573335799ABBBCBBD6B33AEBFCBDF1F5797C1975F9F977977F0BCCAAD556BE3ACAAD3E6D
1F802200FF803009A010A1FE73003F7D0B01AC01FB79EA626F43004C57BA48ED2C1802F7FC858B410E8F96123C84A6E0845C9099298969713191A2484C4989FF90D8D2026123E4D9D992D2453500FF7FFFF6E91F9D7F81EC0A4804AF1937AFF767C02681
4A028BFB115A920A67FD1777D45991D4FFEA244C67FD91D001BFF35F81FEF5FC5801FA8A11BF724AE457FD951FF5644FF141807FFD73FBAE400DE37F056C2FD9F9C0407FDCC05BAFFE76F9B95BED75201FB7A20DFA1593F89FF1DB0DFBD237F1823FB07F
51432FED3FF605BBFFE27F8C8BFD962212C436FFB419FFC72C05EFF0C76B3F8D8CB10F8DFFFE031FFDDFE204AA7EFC25E366A5FF67CAA88FFB199FB227F7593F7C09FFBE40D8B978BFD87DA4FF33590FD82DFED7ED6FF10CAC4CCD3FE3C163F79FFAB1BB
88CC70D48D963A8A1935127FF79FFD7C8FFF5C0D60BFC67B73FB6830AFF7C63646535165BA0007F0FF0C57FB8FDF7EB7E6E8CD4AFF48C6FF8D67FD945FF1247FF7CB807FF7DFBF6F93E687F6328347466C1CD7D7C63EBEBD16F5801EAB6F65BE551E02FC
FA271EB933E9E5F32180900192018FD434A1D4B62325F68921C2663244EEABF498BC2E90C39B9EDEB8FC2512AC64D0F57DBE441EBD816673363422B02C993022BA401F8BDF408EE6A565FDC3EA0053BC32900128DCBBE506C4F80964931A7AD94F32CFBE
A5A873FC804B49F7E49C9824A33E4F751DF4C38E93F3F21699068A35250D093EFED982279AA6AD4599C766A0CFBCDCD1AAE6D518D1C0C820BB2BB66D3DD209D3DBBF646D1B1A3002BEEF3BF1A1A7FDED3459F810E87490A11BB829AB6000501CFE016812
5839FA7FD88E4502FE55D05037EB2D3A2F31F91F0CF7B4BED8A608DE741143D4AAA66E79DB13D2143E4E4595D06E3EB0C17E53179A3F17CBCF91A009350F5CB53964E4DA8BA087E93B0B2E8D5FFA733625A0CA6594750C520C2119D0AC7E69EDB6806C24
58AC402971794A0512E170D3A913A551EEF1E9141898714471CB1F6E96DE3571CC25DF6E6331A810F4FA805EC8EC62804C3598BE4E16039AE905B131DA10EB6CAA342F6FEDCF368792F0D52A2533A876802A723E744DAA66CD0DFE1FDED551CA55DABA06
D754E289F4A759FBC897F77A54A9E53310F844CC7BFCB5FB6F0EFF42795D1D3E0DA75590350B20DA51285165C7F97BBBD705CDA43432A061D74C981C9A4D1CACF63CFF9E3DF16A0616E03812741838C60F33F619331A5B73E3B0DD72C240CE35F4411575
CFB851A6FA38FE29501EE7E9DAC5CB584E9ACB42F99F0F7A88E2C7ADDE6FBE7DB2C51F36C97885A37CF3D8BA71EEBA2609AB76B2584139E8B39BA549AFDD78B2520F7CA25D7AE728EFCCEF41421819138CC2E07F63D5EC8AC02888B5AED98B0FEDCEB9EA
F92C431578CD38390F2D2CA07547803C83E9BAF80746DC9BDCF78636A94B507ED1C276D9D78BF19802939F227374E2E261EC4AC1E72166D8FE7148CBFAF412FCCD8C3B783CC5CA4336998F04E7F739EB4AD9CF158052C165DFB579935BBA8A110B72E006
C2D931B6D5ACF6400B9CB074893754B2D8F7C6185AE998554887E52B1DE3DA03459B806B6620B3F8C80676EA2158CE72A2072E3B90B1B98A3312B3FCE8069FC21D6765B16CABEF48AA4E31D408FB823CB6B65F319353B43269D206706F8E7967275C4B4B
9CFDAE015244DFF98426588E1CEAA9AA30B5941E5DC57A09119C489260B7B60C7589B55C7C7A8B189D531D9B96A65363ABB410AF5FBDA7F2EACF55F9B2951715B63E4F03D68B14352064CB0B7DB5044737EB307225E08F37D9C1BAEB33AB0356B1013C85
0EEFD2D6A2B8EB35B78D1F2F1F2926256C0310200C800D5D74BA084002D5BA00192E8E07490F576359E594D93D80819B96978D92D86C1C64E5A3E065C847C9EE369E28EA5DAF14376CE6ADDEE54775982579182E280BBC5827DCC6258D346B076C585E51
F566E987C9196F26DC004C7C785F1A90B8403E1F700CDF925CB54E207F43FD241E2E9DA19EAEED49E33A208CEFDB938B62FE56EE0A4F8851CEE769D019077B7058148FCF399FBCBA34953F34F7D87BA8990DE8462BA74360E8813386E2DCA53A4CCF55FE
8905AAA4C67DF68C908DDB965EE4D14BCA1670EB9A6A3F25F22DD7951C19F48F9B4E4010E149E2C2C824C8031D7CEEC5D25D00F44A79FC4503AE7A4F0DFD06A7A4640EBF8EF2DCB834AACD0AC509350A056C61E88819B2F87D031A2A6015D77ACD858184
553DABDBA959AE46C3D5F1F1EC696BD6401388912C1D673DB03D84FF53E771786A1C735C907D7F9D8DA985124874A056A5E5B068291AAFBAEEFF9045239A31383485E667A35F90E0560C315750CC9628565DDCF7FD1D52008B61025085C8BEEEE8140C86
005B49DD7A59CF14F79F6CB4F869E538FD099DEA55513C5A29D1DDBC475F5B47078C1F2BCBE2F8D768BF713187149CFD24A3B85F31BDE2C2C887EE4BBBBE77AFBAB45A3CA86266E5E16A04E7ECA39C0674CE2FBE1DA33B0757E24D62F6EAB68110BFB452
E7F93C07CF65026AC33A35E697CC9D7D33F2286914E146D504D2A6D15F48BDDB519A48099B2A6E455C342E06231E2AC226F5FF77B02E854745AC04BA62198F3A37444C314161329119CCC33BCE7CFE9F37E30C23496083CCEE3F0C98F9ED94CEFCE69755
B8D545A35ABA92EB7EAD0D3A389E9C8CA69A1BC00376BF1E42CF465577307F137088AF4E0E8AEEFB64DF9FEF26112AB3C623DC24DDA04BBBA13A53D9998FAA9064729376E453A9499538B74CEF3DD5D29575225173F1193133BF9D782876D71E22B39C1D
A8FD5D214A11250EDF9F49EC5AE3F901759BE9E85D30E497C42E755BB79E4E650CD31656C0A56B8762FFCFDD2A4EB467C3CDF3DE4756EBCA052D37308A54B32091EF6C1A0C75558DA17AD2FAD43332C52FA3371CEF1B6B3CCF31AA622A485A0264AF9AE5
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2010-7-21 17:14:03 | 只看该作者
单选  多选  和其他控件不同,同样的ID应该是表示一组控件
排除文字属性以外,用上 index 属性才能区分
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2010-7-21 17:16:41 | 只看该作者

回复 10# 的帖子

可是我在对象库里看了下对象WebCheckBox,没发现有这个index属性- -!
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2010-7-21 17:37:11 | 只看该作者
是有的,仔细看一下
加上试试实际效果,值是从0开始一直向上+1的
index:=0
index:=1
index:=2
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2010-7-22 10:59:31 | 只看该作者
不过根据刚才这个朋友给我的短信,他说,他两次用的是同一个控件。。。就不存在INDEX的区分啊
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2010-7-22 10:59:41 | 只看该作者
看来我要请教我师父去了,哈哈
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2010-7-22 11:02:35 | 只看该作者

回复 13# 的帖子

可能只是隐藏了第1个,出现了第2个而已,index还是会变的,表面看是一个
分析JS的操作就明白了
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2010-7-22 11:05:03 | 只看该作者
恩,是的,也有可能,那如果这样的话,INDEX就能用了,不过我在自动化的实施中,一般不到逼不得已,不喜欢用INDEX,我总觉得不可靠,呵呵,可能是个人习惯吧
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2010-7-22 11:08:05 | 只看该作者
这个纠结的问题,我刚才请教了我的老师,他这么说:

第一次使用没问题,说明第一次的操作能识别到,而经过某些操作后,页面上对象发生变化,识别不了,应该他的操作步骤引起的
让他把完整脚本贴上来
提供信息太少了



然后,他也觉得INDEX是没有办法的办法,呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2010-7-22 11:14:20 | 只看该作者
页面本来就不是死的,是会根据操作变化的

按照上面的提示,肯定是匹配了多个,加index是肯定要的,不是没办法的办法
因为动态变化的,到底是不是你需要的,你还要判断
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2010-7-22 11:16:35 | 只看该作者

回复 18# 的帖子

那到不是一定要,呵呵,可以动态给控件加唯一属性标识的,就不用INDEX了,当然,我也没看过实际项目,所以不敢妄下定论,不过INDEX是肯定可以的,但是我觉得靠一堆数字不可靠,我习惯性的还是会考虑将来的维护阶段
回复 支持 反对

使用道具 举报

该用户从未签到

20#
 楼主| 发表于 2010-7-22 11:47:45 | 只看该作者

回复 19# 的帖子

下面是action1 ‘ 完成copy的操作
Dim i,test,mydescription,mydescription1
wait 2
DbTable("DbTable").Output CheckPoint("DbTable")

Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").VirtualObject("object_Action_new spec").Click 49,11
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").WebElement("Copy...").FireEvent "onmouseover"
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").WebElement("Copy...").FireEvent "onmouseout"
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").Link("Link").Click

Set test=Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise")
Set mydescription=Description.Create()
Set mydescription1=description.Create()
mydescription("type").value="checkbox"
mydescription("html id").value="ckb_2"
mydescription1("type").value="button"
mydescription1("class").value="btn_ok"
If  test.WebCheckBox(mydescription).GetROProperty("checked")<>"on" Then
        test.WebCheckBox(mydescription).Set "ON"                       ‘ 选择folder
End If

test.WebButton(mydescription1).Click                                 ’点击保存按钮,copy 完成
set mydescription=nothing
set mydescription1=nothing
set test=nothing



Action2       ’完成move操作
Dim test,a
wait(2)
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").VirtualObject("object_Action_new spec").Click 51,10
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").WebElement("Move To...").FireEvent "onmouseover"
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").WebElement("Move To...").FireEvent "onmouseout"
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("issueList").Link("Link").Click
Set test=Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise")

a=test.WebCheckBox("type:=checkbox", "html id:=ckb_2").GetROProperty("checked")
If  a<>"on" Then
        test.WebCheckBox("type:=checkbox", "html id:=ckb_2").Set "ON"            ‘选中和copy操作时一样的folder
End If

Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").WebButton("type:=button", "class:=btn_ok").Click    ’点击保存按钮,move完成

set test=nothing
Browser("TechExcel KnowledgeWise").Page("TechExcel KnowledgeWise").Frame("topframe").WebButton("WebButton").WaitProperty "Visible", true, 100000

[ 本帖最后由 131425god 于 2010-7-22 11:52 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 21:14 , Processed in 0.095799 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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