我正在尝试使用量角器选择此按钮:
<button tabindex="-1" type="button" class="btn btn-default pull-left" ng-click="$arrowAction(-1, 0)">
<i class="glyphicon glyphicon-chevron-up">
</i>
</button>
唯一独特的元素是ng-click="$arrowAction(-1, 0)"
我没有尝试过任何作品:
element(by.css("//button[@ng-click='$arrowAction(-1, 0)']")).click();
答案 0 :(得分:3)
//button[@ng-click='$arrowAction(-1, 0)']
不是有效的CSS选择器。它实际上看起来像是一个XPath表达式,你打算使用by.xpath()
定位器。
您可以改为使用部分属性检查:
$("button[ng-click*=arrowAction]").click();
$
此处是element(by.css(...))
的快捷方式,*=
表示“包含”。
或者,做一个完全匹配:
$("button[ng-click='$arrowAction(-1, 0)']").click();
我仍然不喜欢这种情况下使用的定位技术,但是,鉴于我们所拥有的,它可能是我们能做的最好的。理想情况下,如果您可以控制应用程序代码和模板,请添加有意义的id
,class
或自定义数据属性以唯一标识元素。