使用没有元素 id 的 Selenium 测试 Angularjs

标签 testing angularjs selenium

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

更新

我们召开了一些 session ,最终将 id 插入到元素中以确保测试的稳健性。谢谢大家的回答:)

最佳答案

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

Selenium WebDriver - Locate UI Elements

关于使用没有元素 id 的 Selenium 测试 Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275959/

相关文章:

testing - JMeter 线程属性说明

Scalatest:如果两个匹配器之一匹配,则测试有效

angularjs - asyncValidator 依赖于其他字段的值

android - 如何更快地在设备上进行测试?

javascript - 如何编写 Jasmine 自定义匹配器

javascript - ng-if block 中的函数不起作用

javascript - AngularJS 中变量的文本输入

Java Selenium Gecko 驱动程序未加载

Python:Selenium 无法在 UDOO 上找到空闲端口

debugging - 尝试调试 WebDriver E2E 测试时 Chrome 开发者工具立即关闭