我的网页上有一个md-progress-circular
组件,每次点击都会显示动画,因为大多数调用都是从后端获取数据,我的脚本失败,因为每个调用的响应时间不同而圆形加载器在屏幕上停留随机时间,脚本失败并显示以下错误
Failed: unknown error: Element is not clickable at point (1442, 472). Other element would receive the click:
<div id="blockUiBackdrop" ng-show="blockingUI" aria-hidden="false" class="ng-animate ng-hide-animate ng-hide-remove ng-hide-remove-active" data-ng-animate="2">...</div>
(Session info: chrome=55.0.2883.87)
(Driver info: chromedriver=2.24.417431 (9aea000394714d2fbb20850021f6204f2256b9cf),platform=Windows NT 10.0.14393 x86_64)
答案 0 :(得分:1)
可能取决于您网页的md-progress-circular
组件的模式
案例1:确定 - 这是您知道背景操作的状态,并且有一个value
属性可以让您知道操作何时完成
示例:
<md-progress-circular md-mode="determinate" value="34" aria-valuemin="0" aria-valuemax="100" role="progressbar" class="ng-isolate-scope" aria-valuenow="34" style="width: 50px; height: 50px;"></md-progress-circular>
您可以在此处添加browser.wait()
以检查属性值是否等于aria-valuemax
案例2:不确定 - 这是您不知道幕后发生的事情,您需要检查元素的隐身性
示例:
<md-progress-circular ng-disabled="!vm.activated" class="md-hue-2 ng-isolate-scope _md-progress-circular-disabled" md-diameter="20px" aria-valuemin="0" aria-valuemax="100" role="progressbar" md-mode="indeterminate" aria-disabled="true" style="width: 20px; height: 20px;" disabled="disabled">
</md-progress-circular>
在这种情况下,有两个选项
1.识别确定组件可见性的ng-model值,如本例所示 - vm.activated
并访问范围并等待值更改
2. browser.wait()
invisibilityOf()
组件上的md-progress-circular