我在编写 Selenium 测试来检查我的应用程序时遇到问题。我想测试的是,当用户输入正确的登录名/密码时,会显示正确的页面并且用户已登录。
主要问题是我的登录表单是作为 AngularJS 指令生成的(我有两个不同的登录页面,并且该指令在两个地方都重复使用),而 Selenium 似乎无法看到该指令生成的标记中的元素。 最重要的是,在我用指令生成的标记替换常规标记之前,测试就已经在该页面上通过了。
所以看起来 Selenium 无法看到由指令生成的 html 元素。
有什么建议可以让我克服这个问题吗?当然,除了恢复此更改引入指令:)
最佳答案
好吧,看起来是我误用了 Geb 和 Selenium。我没有指定默认驱动程序,Geb 选择了一个不支持 AngularJS 的驱动程序。在我手动将驱动程序更改为 Chrome 后,一切开始工作。
关于Selenium 看不到 AngularJS 页面元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16287935/