如何使用量角器单击此元素按钮?

时间:2016-07-26 13:26:39

标签: javascript testing automation protractor

我正在尝试使用量角器选择此按钮:

<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();

1 个答案:

答案 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();

我仍然不喜欢这种情况下使用的定位技术,但是,鉴于我们所拥有的,它可能是我们能做的最好的。理想情况下,如果您可以控制应用程序代码和模板,请添加有意义的idclass或自定义数据属性以唯一标识元素。