angularjs - 如何使用 Protractor 来检查元素是否可见?

标签 angularjs visible protractor

我正在尝试使用 Protractor 测试元素是否可见。该元素如下所示:

<i class="icon-spinner icon-spin ng-hide" ng-show="saving"></i>

在 Chrome 控制台中,我可以使用此 jQuery 选择器来测试元素是否可见:

$('[ng-show=saving].icon-spin')
[
<i class=​"icon-spinner icon-spin ng-hide" ng-show=​"saving">​</i>​
]
> $('[ng-show=saving].icon-spin:visible')
[]

但是,当我尝试在 Protractor 中执行相同操作时,我在运行时收到此错误:

InvalidElementStateError: 
invalid element state: Failed to execute 'querySelectorAll' on 'Document': 
'[ng-show=saving].icon-spin:visible' is not a valid selector.

为什么这无效?如何使用 Protractor 检查可见性?

最佳答案

这应该可以做到:

expect($('[ng-show=saving].icon-spin').isDisplayed()).toBe(true);

记住 Protractor 的 $ 不是 jQuery,并且 :visible 还不是 available CSS selectors + pseudo-selectors 的一部分。

更多信息请访问 https://stackoverflow.com/a/13388700/511069

关于angularjs - 如何使用 Protractor 来检查元素是否可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22850271/

相关文章:

angularjs - 转换为 Knockout,然后转换为 Angular,坏主意,或者直接转到 Angular

javascript - 在 AngularJS 应用程序加载时收到通知

angularjs - 如何重新加载 ionic View ?

python - 关闭 cmd,同时保留 Tk 对象

facebook - 在 Facebook 页面上发帖 - 我是唯一看到该帖子的人

automation - 汇总多个规范文件的 Protractor 结果

angularjs - Angular JS ng-repeat嵌套数组

jquery - 计算屏幕上显示的列表项目并且不溢出

node.js - Protractor - Node - grunt 连接

angular - error 发生意外错误 : "Command\"e2e\"not found."