请教一个WebEdit中 html Id 在描述编程的问题
在描述性编程中,有一个对象是WebEdit,然后只能以html id最为唯一区分标示,但是在对象侦测器中发现 属性是 "$5c190e3a$UserCode"如果以这个作为标记是无法回放成功的,提示找不到对象 Browser("xx").Page("xx").WebEdit("html id:=$5c190e3a$UserCode").Set "abc" 请问下该如何处理这个属性没有那个同学知道如何处理吗? 这个问题,你最好跟开发者确认下那个ID没有变化,因为网页的ID并不是一直不变的 使用其它方式察看id是多少 jingzizx 发表于 2016-4-28 14:45
使用其它方式察看id是多少
其他啥子方法? 用QTP的spy查看这个元素的其他属性,不一定要用这个属性,只要其他多个属性能唯一确定这个元素即可,属性越多越准确,主要看你自己如何选取属性了,描述性编程属性与属性之间用分号隔开 kexinqw11 发表于 2016-4-28 15:40
用QTP的spy查看这个元素的其他属性,不一定要用这个属性,只要其他多个属性能唯一确定这个元素即可,属性越 ...
我测试过如果使用 WebEdit("abs_x:="&Menu_abs_x1,"abs_y:="&Menu_abs_y1).set "abc" 是可以实现识别的,但是如果由于UI的调整,只是更换了位置没有做其他的调整,代码的维护性就很低了 木子木子 发表于 2016-4-28 16:31
我测试过如果使用 WebEdit("abs_x:="&Menu_abs_x1,"abs_y:="&Menu_abs_y1).set "abc" 是可以实现识别的, ...
你可以尝试用html tag 属性input的值应该是不会变得,总不会把输入框弄成按钮之类的吧;还有height ,编辑框的高度也不应该会发生变化,因为美观问题,编辑框高度应该保持一致,另外楼主可以尝试用下其他属性比如html class等 继续研究发现,html id 中的$符号是开发专门加入的为了区分内容的标记,如果在IE中把html id修改为不要$符号,后重新把描述编程中调整为 "html id:=f883d135edUserCode" 这时控件的识别操作均无问题,也就是说是qtp 在这里无法识别到$符号,但是如果WebEdit("WebEdit").GetROProperty("html id")后发现这时给出的信息则是完整的 $f883d135$edUserCode,理论上不能识别$应该是在获取的时候也不能有效读取,不知为何这里是在描述的时候不能使用
既然这样现在有两种方案:
1、开发把全部的代码做调整(明显不现实)
2、测试想办法把$替换为系统能识别的字符,但是现在我还暂时没有想到办法,请大家给点意见,毕竟现在已经知道原因了
木子木子 发表于 2016-4-29 14:33
继续研究发现,html id 中的$符号是开发专门加入的为了区分内容的标记,如果在IE中把html id修改为不要$符 ...
不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义字符,所以楼主试试html id:="\$f883d135\$edUserCode" kexinqw11 发表于 2016-4-29 20:14
不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义 ...
3q kexinqw11 发表于 2016-4-29 20:14
不是不能QTP不能识别吧,这个涉及到正则表达式,楼主的研究精神非常好!楼主可以在特殊字符前面加个转义 ...
3q
页:
[1]