如何使用量角器测试控制器作为语法?

时间:2017-03-20 11:01:16

标签: angularjs typescript protractor angularjs-controlleras

我目前正在为应用编写一些Protractor测试。但在应用程序中我使用控制器作为语法,因为我想要处理的部分是组件。问题是当我使用""的选择器时$ ctrl.functionName""它给了我一个非法的选择声明。

有人对此有任何想法吗?

let btn = $$("button[ng-click^=$ctrl.initRequest].secondary.bf-btn");
        expect(btn.isDisplayed()).toBe(true);

错误消息是

Failed: invalid selector: An invalid or illegal selector was specified

1 个答案:

答案 0 :(得分:1)

如果您无法为元素分配有意义的id或其他属性,则需要修复当前的选择器。至少,ng-click值附近应该有引号:

button[ng-click^='$ctrl.initRequest'].secondary.bf-btn

请注意,稍微好一点的版本(也不需要引号)将使用部分匹配:

button[ng-click*=initRequest].secondary.bf-btn

并且,看看你是否可以放弃有问题的课程并且只有:

button[ng-click*=initRequest]