我目前正在为应用编写一些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
答案 0 :(得分:1)
如果您无法为元素分配有意义的id
或其他属性,则需要修复当前的选择器。至少,ng-click
值附近应该有引号:
button[ng-click^='$ctrl.initRequest'].secondary.bf-btn
请注意,稍微好一点的版本(也不需要引号)将使用部分匹配:
button[ng-click*=initRequest].secondary.bf-btn
并且,看看你是否可以放弃有问题的课程并且只有:
button[ng-click*=initRequest]