6

我们的团队正在使用 AngularJS 开发一个 Web 应用程序。对于测试,我们使用 Jasmine 进行单元测试和 angular-e2e 测试。这很好用。然而,我们的 QA 团队今天联系我们,他们试图使用 selenium 来测试 Web 应用程序,但由于我们没有为大多数 DOM 元素定义 ID,因此遇到了问题。我们对此进行了一些研究,但没有运气。有人可以建议一种进行硒测试的好方法,而无需我们为使用硒而明确添加所有ID吗?谢谢!

更新

我们举行了一些会议,最终将 id 插入到元素中以增强测试的稳健性。谢谢大家的回答:)

4

2 回答 2

5

如果你使用 Selenium WebDriver,有很多方法可以在页面上查找元素。就灵活性而言, XPATH可能是更好的方法之一(尽管它会很快变得丑陋),但 WebDriver 还允许您使用类名、标记名、名称、链接文本和 CSS。

Selenium WebDriver - 定位 UI 元素

于 2013-08-16T14:53:39.533 回答
2

我们现在在工作中也遇到了同样的情况。如本讨论中所述,我们比较了克服此问题的两种可能方法:

  1. 尝试以不同的方式定位元素。
  2. 在需要的地方引入新属性,即使 Angular 开发不需要它们。

我们决定使用 (2) 并在需要的地方添加 ID。更好地测试健壮性,并且开销根本不重要。

我们究竟做了什么?对于相关元素,named 属性data-hook添加了识别他的正确值。效果很好。

于 2014-03-18T12:45:52.427 回答