ChromeDriver - 元素ID或Xpath更改

时间:2018-04-09 09:31:22

标签: java eclipse selenium

我有一个简单的问题,我在星期五使用chrome驱动程序创建了一些测试用例,今天我返回并且所有测试用例都失败了,当我检查时我看到所有元素ID或xpath都发生了变化,我的问题是为什么这件事发生了吗?我还需要知道这种情况经常发生吗?

谢谢

3 个答案:

答案 0 :(得分:2)

请检查用于测试的网页, 元素ID或Xpath的更改主要是由于用于网页开发的框架。 (即)基于ExtJS的应用程序基本上会生成动态ID。因此,如果将任何组件/元素添加到网页中,它将自动重新生成其ID。

请参阅this SO post

答案 1 :(得分:1)

我的问题是为什么会这样? - 在这种情况下可能的原因可能是:

  1. 网页的用户界面已更改,因此您的XPATH失败。
  2. 您的XPATH可能包含字母数字字符(或者可能是太长的绝对路径),这不是一个好的网络定位策略。您可能希望切换到不同的定位器以确保稳定性。
  3. 我还需要知道这种情况经常发生吗? - 它可以在任何时间发生。 (许多Web应用程序正在改变其用户界面以提供良好的用户体验

答案 2 :(得分:1)

您正在使用的应用程序是动态的。每次刷新页面或向服务器发送一些数据时,动态元素都会更改属性值。我建议你使用动态xpath。你会发现很多学习网站来打破僵局!!

希望这会有所帮助!!