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

How do I test controller as syntax with protractor?

我目前正在为应用程序编写一些 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

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

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

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

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

并且,看看您是否可以删除有问题的 类 并只拥有:

button[ng-click*=initRequest]