我们的团队正在使用 AngularJS 开发网络应用程序。对于测试,我们使用 Jasmine 进行单元测试和 angular-e2e 测试。那很好用。然而,我们的 QA 团队今天找到我们,他们试图使用 selenium 来测试网络应用程序,但由于我们没有为大多数 DOM 元素定义 ID 而面临问题。我们对此进行了一些研究,但没有运气。有人可以建议一种进行 Selenium 测试的好方法,而无需我们明确添加所有仅用于 Selenium 的 ID 吗?谢谢!
更新
我们召开了一些 session ,最终将 id 插入到元素中以确保测试的稳健性。谢谢大家的回答:)
最佳答案
如果您使用的是 Selenium WebDriver,可以通过多种方式在页面上查找元素。 XPATH就灵 active 而言,它可能是更好的方法之一(尽管它很快就会变得丑陋),但 WebDriver 还允许您使用类名、标签名、名称、链接文本和 CSS。
关于使用没有元素 id 的 Selenium 测试 Angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18275959/