nimcok 发表于 2010-7-16 14:35:08

更新版本后,对象的html id属性值发生了变法导致对象识别错误,如何避免?

每次更新版本之后,对象库html id属性值发生了变法导致对象识别错误,如何避免?
或者怎么避免html id属性值不变?开发能处理吗?

ls_721521 发表于 2010-7-16 14:51:33

1.html id只是后面的编号变化吧?如果是可以用正则
2.除了html id 还有其他唯一属性吗,如果有就把这个删了吧
3.用描述性编程写,把属性保存到变量,修改也方便。

nimcok 发表于 2010-7-16 15:18:31

原帖由 ls_721521 于 2010-7-16 14:51 发表 http://bbs.51testing.com/images/common/back.gif
1.html id只是后面的编号变化吧?如果是可以用正则
2.除了html id 还有其他唯一属性吗,如果有就把这个删了吧
3.用描述性编程写,把属性保存到变量,修改也方便。
问题1:是后面的编号发生了变法,但是肯定不能使用正则表达式,使用正则表达式就会导致匹配的对象不是唯一的了
问题2:其他的都不能唯一识别,只能用html id可以唯一识别
问题3:描述性编写不太现实,QTP本身的价值就在对象库的管理上,可以很方便的管理对象库,况且即使改为描述性编程,属性保存到变量,那样每更新一个版本还得对变量的值进行修改,同修改对象库的值没有太大的差别了

ls_721521 发表于 2010-7-16 15:36:11

你用到html id属性的对象很多?如果是就找开发问一下规则,然后自己写个函数呢?如果用到html id属性的对象不多,而且是重复使用的话保存到变量怎么不方便了。。
咱不谈对象库和描述性那个好的问题。。。哪个自己使用方便就用哪个。。

nimcok 发表于 2010-7-16 16:49:41

原帖由 ls_721521 于 2010-7-16 15:36 发表 http://bbs.51testing.com/images/common/back.gif
你用到html id属性的对象很多?如果是就找开发问一下规则,然后自己写个函数呢?如果用到html id属性的对象不多,而且是重复使用的话保存到变量怎么不方便了。。
咱不谈对象库和描述性那个好的问题。。。哪个自己使 ...
用的很多,因为很多WebElement对象都只能通过html id去识别,因为其它属性(比如:outertext)都是动态值
咨询了开发,开发说没有去设置固定的id,应该是编译后自动取得的id,如果让开发对这些元素都去设置id的话,工作量有点大,很多页面都有这个问题,那么需要开发对所有页面的这些对象都去设置id
如果让开发改,是不是需要改所有的这些对象?以后添加新的代码时也要写上id?难度大不大?

wugecat 发表于 2010-7-16 17:09:18

一个是通过id规则遍历
在一个你可以通过文字来遍历,比如用户名输入框前的"用户名"文字.找到文字后,再找后边的输入框,用DOM来处理,总之没有解决不了的

nimcok 发表于 2010-7-20 09:13:27

回复见悬赏贴http://bbs.51testing.com/thread-277185-1-1.html
页: [1]
查看完整版本: 更新版本后,对象的html id属性值发生了变法导致对象识别错误,如何避免?