0

我正在使用 Selenium、java 和 Testng 进行自动化。我正在使用 ID 来识别元素,但是每个人都说 ID 可能会更改,并且使用 Id 进行测试的方式非常脆弱,所以任何人都可以告诉我如何使用 id 的一部分或任何其他不会影响我的自动化的方式,即使一段时间后 id 会发生变化。在此先感谢。

4

2 回答 2

1

相反...

一个构建良好的应用程序将始终在页面上具有唯一的 ID,并且是最不可能更改的投影。

不幸的是,你会遇到动态的,甚至是重复的。

在我工作的地方,我们的 ID 是由 Apache Tapestry 生成的,结果是这些类型的 ID。

  • <input id="someID_124905830" />
  • <input id="submit_0" />

但是这些很容易使用父子层次结构或部分匹配来对抗input[id^='submit_']

简而言之。声明无效。

大家都说ID会变,很脆弱

我的问题是,谁是“每个人”?因为与我交谈的“每个人”,我相信大多数 Web 开发社区都会不同意。

于 2013-09-10T16:37:29.633 回答
0

在 Selenium 中定位元素的方法还有很多。除了 ID,例如 xpath、css、dom、link、name 等。但是使用 xpath 和相对 xpath 会让您对此充满信心。

你可以谷歌它或可以看到link1link2link3

于 2013-09-10T12:54:57.083 回答