我正在使用 Selenium、java 和 Testng 进行自动化。我正在使用 ID 来识别元素,但每个人都说 ID 可能会改变,并且使用 Id 进行测试的方式非常脆弱,所以任何人都可以告诉我如何使用 id 的一部分或任何其他不会影响我的自动化的方式,即使一段时间后,ID 发生变化。提前致谢。
最佳答案
恰恰相反...
构建良好的应用程序将始终在页面上具有唯一的 ID,并且是最不可更改的投影内容。
不幸的是,您会遇到动态的甚至重复的事情。
在我工作的地方,我们的 ID 是由 Apache Tapestry 生成的,并且结果是这些类型的 ID。
<input id="someID_124905830" />
<input id="submit_0" />
但是使用父子层次结构或像input[id^='submit_']
这样的部分匹配很容易解决这些问题。
Everybody say that ID's may change and it's very brittle
我的问题是,谁是“所有人”?因为与我交谈过的“每个人”,我确信大多数 Web 开发社区都会不同意。
关于java - Selenium、java 和 Testng 用于自动化,识别元素的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18719160/