我正在使用Selenium、java和Testng来实现自动化。我使用ID来标识元素,但每个人都说Id可能会改变,使用id进行测试的方式非常脆弱,所以谁能告诉我如何使用id的一部分或任何其他方式,即使在一段时间的period.thanks之后有更改,也不会影响我的自动化。
发布于 2013-09-11 00:37:30
恰恰相反。
一个构建良好的应用程序在页面上总是有唯一的ID,并且是最不可能改变的。
不幸的是,你会遇到动态的东西,甚至是重复的东西。
在我工作的地方,我们的ID是由Apache Tapestry生成的,并转换为这些类型的ID。
<input id="someID_124905830" /><input id="submit_0" />但是,使用父子层次结构或像input[id^='submit_']这样的部分匹配很容易解决这些问题
总之。该语句无效。
每个人都说ID可能会改变,它很脆弱
我的问题是,谁是“每个人”?因为和我交谈过的“每个人”,我相信大多数web开发社区都不会同意我的观点。
发布于 2013-09-10 20:54:57
在硒中定位元素的方法还有很多。除了ID,比如xpath、css、dom、link、name等等。但是使用xpath和相对的xpath会让你对它更有信心。
你可以在谷歌上搜索它,也可以看到link1、link2或link3
https://stackoverflow.com/questions/18719160
复制相似问题