同一脚本里描述性编程对象第二次使用会报错
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. 没人遇到过这个问题么, 提示已经告诉你了,找到了多个匹配的 这种问题的意思就是,有两个一样的控件在一个页面上,必须添加其唯一标识,一般html id:=ckb_2", 就是唯一标识,你两个一样的,肯定出问题 用SPY查看出两个CHECKBOX的不同的HTML ID吧,就没问题了额
回复 3# 的帖子
嗯,因为parent 对象是时刻变化的,所以当时采用的办法是直接取子对象的属性来描述子对象,没想到有两个地方都用到这个对象的时候就报错了,有好的办法解决么 可是,两次使用的时候,我在对象库里对比了一下,html id值一摸一样的回复 5# 的帖子
可是,两次使用的时候,我在对象库里对比了一下,html id值一摸一样的换句话说其实是调用了几乎相同的东西。只是我是在两个action里用到了,所以第二次再识别这个对象的时候,会有这个问题,我想知道有没有办法解决,迂回解决也行啊
知道这是什么吗
526172211A07003BD07308000D00000000000000317E74C0802C00CD9D1D0000A02400020FEDBF28CF96633C1D350C002000000049504F50332E33312E45584510219114C895A198161A24240201008241012010487027F0040410871C38538D010538180C04E0840101412408714204041054541454504608290115820848B158A8A454160B1DA282A222A3B3827B5DEF7BEFBDEF6F01BEFF7DF6BDAF2BCF979F6F27C3573335799ABBBCBBD6B33AEBFCBDF1F5797C1975F9F977977F0BCCAAD556BE3ACAAD3E6D
1F802200FF803009A010A1FE73003F7D0B01AC01FB79EA626F43004C57BA48ED2C1802F7FC858B410E8F96123C84A6E0845C9099298969713191A2484C4989FF90D8D2026123E4D9D992D2453500FF7FFFF6E91F9D7F81EC0A4804AF1937AFF767C02681
4A028BFB115A920A67FD1777D45991D4FFEA244C67FD91D001BFF35F81FEF5FC5801FA8A11BF724AE457FD951FF5644FF141807FFD73FBAE400DE37F056C2FD9F9C0407FDCC05BAFFE76F9B95BED75201FB7A20DFA1593F89FF1DB0DFBD237F1823FB07F
51432FED3FF605BBFFE27F8C8BFD962212C436FFB419FFC72C05EFF0C76B3F8D8CB10F8DFFFE031FFDDFE204AA7EFC25E366A5FF67CAA88FFB199FB227F7593F7C09FFBE40D8B978BFD87DA4FF33590FD82DFED7ED6FF10CAC4CCD3FE3C163F79FFAB1BB
88CC70D48D963A8A1935127FF79FFD7C8FFF5C0D60BFC67B73FB6830AFF7C63646535165BA0007F0FF0C57FB8FDF7EB7E6E8CD4AFF48C6FF8D67FD945FF1247FF7CB807FF7DFBF6F93E687F6328347466C1CD7D7C63EBEBD16F5801EAB6F65BE551E02FC
FA271EB933E9E5F32180900192018FD434A1D4B62325F68921C2663244EEABF498BC2E90C39B9EDEB8FC2512AC64D0F57DBE441EBD816673363422B02C993022BA401F8BDF408EE6A565FDC3EA0053BC32900128DCBBE506C4F80964931A7AD94F32CFBE
A5A873FC804B49F7E49C9824A33E4F751DF4C38E93F3F21699068A35250D093EFED982279AA6AD4599C766A0CFBCDCD1AAE6D518D1C0C820BB2BB66D3DD209D3DBBF646D1B1A3002BEEF3BF1A1A7FDED3459F810E87490A11BB829AB6000501CFE016812
5839FA7FD88E4502FE55D05037EB2D3A2F31F91F0CF7B4BED8A608DE741143D4AAA66E79DB13D2143E4E4595D06E3EB0C17E53179A3F17CBCF91A009350F5CB53964E4DA8BA087E93B0B2E8D5FFA733625A0CA6594750C520C2119D0AC7E69EDB6806C24
58AC402971794A0512E170D3A913A551EEF1E9141898714471CB1F6E96DE3571CC25DF6E6331A810F4FA805EC8EC62804C3598BE4E16039AE905B131DA10EB6CAA342F6FEDCF368792F0D52A2533A876802A723E744DAA66CD0DFE1FDED551CA55DABA06
D754E289F4A759FBC897F77A54A9E53310F844CC7BFCB5FB6F0EFF42795D1D3E0DA75590350B20DA51285165C7F97BBBD705CDA43432A061D74C981C9A4D1CACF63CFF9E3DF16A0616E03812741838C60F33F619331A5B73E3B0DD72C240CE35F4411575
CFB851A6FA38FE29501EE7E9DAC5CB584E9ACB42F99F0F7A88E2C7ADDE6FBE7DB2C51F36C97885A37CF3D8BA71EEBA2609AB76B2584139E8B39BA549AFDD78B2520F7CA25D7AE728EFCCEF41421819138CC2E07F63D5EC8AC02888B5AED98B0FEDCEB9EA
F92C431578CD38390F2D2CA07547803C83E9BAF80746DC9BDCF78636A94B507ED1C276D9D78BF19802939F227374E2E261EC4AC1E72166D8FE7148CBFAF412FCCD8C3B783CC5CA4336998F04E7F739EB4AD9CF158052C165DFB579935BBA8A110B72E006
C2D931B6D5ACF6400B9CB074893754B2D8F7C6185AE998554887E52B1DE3DA03459B806B6620B3F8C80676EA2158CE72A2072E3B90B1B98A3312B3FCE8069FC21D6765B16CABEF48AA4E31D408FB823CB6B65F319353B43269D206706F8E7967275C4B4B
9CFDAE015244DFF98426588E1CEAA9AA30B5941E5DC57A09119C489260B7B60C7589B55C7C7A8B189D531D9B96A65363ABB410AF5FBDA7F2EACF55F9B2951715B63E4F03D68B14352064CB0B7DB5044737EB307225E08F37D9C1BAEB33AB0356B1013C85
0EEFD2D6A2B8EB35B78D1F2F1F2926256C0310200C800D5D74BA084002D5BA00192E8E07490F576359E594D93D80819B96978D92D86C1C64E5A3E065C847C9EE369E28EA5DAF14376CE6ADDEE54775982579182E280BBC5827DCC6258D346B076C585E51
F566E987C9196F26DC004C7C785F1A90B8403E1F700CDF925CB54E207F43FD241E2E9DA19EAEED49E33A208CEFDB938B62FE56EE0A4F8851CEE769D019077B7058148FCF399FBCBA34953F34F7D87BA8990DE8462BA74360E8813386E2DCA53A4CCF55FE
8905AAA4C67DF68C908DDB965EE4D14BCA1670EB9A6A3F25F22DD7951C19F48F9B4E4010E149E2C2C824C8031D7CEEC5D25D00F44A79FC4503AE7A4F0DFD06A7A4640EBF8EF2DCB834AACD0AC509350A056C61E88819B2F87D031A2A6015D77ACD858184
553DABDBA959AE46C3D5F1F1EC696BD6401388912C1D673DB03D84FF53E771786A1C735C907D7F9D8DA985124874A056A5E5B068291AAFBAEEFF9045239A31383485E667A35F90E0560C315750CC9628565DDCF7FD1D52008B61025085C8BEEEE8140C86
005B49DD7A59CF14F79F6CB4F869E538FD099DEA55513C5A29D1DDBC475F5B47078C1F2BCBE2F8D768BF713187149CFD24A3B85F31BDE2C2C887EE4BBBBE77AFBAB45A3CA86266E5E16A04E7ECA39C0674CE2FBE1DA33B0757E24D62F6EAB68110BFB452
E7F93C07CF65026AC33A35E697CC9D7D33F2286914E146D504D2A6D15F48BDDB519A48099B2A6E455C342E06231E2AC226F5FF77B02E854745AC04BA62198F3A37444C314161329119CCC33BCE7CFE9F37E30C23496083CCEE3F0C98F9ED94CEFCE69755
B8D545A35ABA92EB7EAD0D3A389E9C8CA69A1BC00376BF1E42CF465577307F137088AF4E0E8AEEFB64DF9FEF26112AB3C623DC24DDA04BBBA13A53D9998FAA9064729376E453A9499538B74CEF3DD5D29575225173F1193133BF9D782876D71E22B39C1D
A8FD5D214A11250EDF9F49EC5AE3F901759BE9E85D30E497C42E755BB79E4E650CD31656C0A56B8762FFCFDD2A4EB467C3CDF3DE4756EBCA052D37308A54B32091EF6C1A0C75558DA17AD2FAD43332C52FA3371CEF1B6B3CCF31AA622A485A0264AF9AE5 单选多选和其他控件不同,同样的ID应该是表示一组控件
排除文字属性以外,用上 index 属性才能区分
回复 10# 的帖子
可是我在对象库里看了下对象WebCheckBox,没发现有这个index属性- -! 是有的,仔细看一下加上试试实际效果,值是从0开始一直向上+1的
index:=0
index:=1
index:=2 不过根据刚才这个朋友给我的短信,他说,他两次用的是同一个控件。。。就不存在INDEX的区分啊 看来我要请教我师父去了,哈哈
回复 13# 的帖子
可能只是隐藏了第1个,出现了第2个而已,index还是会变的,表面看是一个分析JS的操作就明白了 恩,是的,也有可能,那如果这样的话,INDEX就能用了,不过我在自动化的实施中,一般不到逼不得已,不喜欢用INDEX,我总觉得不可靠,呵呵,可能是个人习惯吧 这个纠结的问题,我刚才请教了我的老师,他这么说:
第一次使用没问题,说明第一次的操作能识别到,而经过某些操作后,页面上对象发生变化,识别不了,应该他的操作步骤引起的
让他把完整脚本贴上来
提供信息太少了
然后,他也觉得INDEX是没有办法的办法,呵呵 页面本来就不是死的,是会根据操作变化的
按照上面的提示,肯定是匹配了多个,加index是肯定要的,不是没办法的办法
因为动态变化的,到底是不是你需要的,你还要判断
回复 18# 的帖子
那到不是一定要,呵呵,可以动态给控件加唯一属性标识的,就不用INDEX了,当然,我也没看过实际项目,所以不敢妄下定论,不过INDEX是肯定可以的,但是我觉得靠一堆数字不可靠,我习惯性的还是会考虑将来的维护阶段回复 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"
Iftest.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")
Ifa<>"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]
2