我们的团队正在使用AngularJS开发一个Web应用程序。为了测试,我们使用Jasmine进行单元测试和角度e2e测试。这很好。然而,我们的QA团队今天向我们询问他们是否尝试使用selenium来测试Web应用程序但面临问题,因为我们没有为大多数DOM元素定义ID。我们对此进行了一些研究,但没有运气。有人建议一个很好的方法来做硒测试,而不是让我们明确添加所有的ids只是为了使用硒?谢谢!
更新
我们召开了一些会议,最后在元素中插入了id,以确保测试的稳健性。谢谢大家回答:)
答案 0 :(得分:5)
如果您使用的是Selenium WebDriver,则可以通过多种方式在页面上查找元素。 XPATH可能是灵活性方面更好的方法之一(虽然它可以很快变丑)但WebDriver也允许你使用类名,标签名,名称,链接文本和CSS。
答案 1 :(得分:2)
我们现在的工作遇到了同样的情况。 正如本次讨论中所提到的,我们比较了可能的两种方法来克服这个问题:
我们决定使用(2)并在需要时添加ID。 更好地测试稳健性并且开销并不重要。
我们做了什么?对于相关元素,添加了名为data-hook
的属性,其中包含标识他的正确值。效果很好。