【发布时间】:2017-08-11 15:08:13
【问题描述】:
我目前正在为一个应用编写一些量角器测试。但是在应用程序中,我使用控制器作为语法,因为我想要处理的部分是组件。问题是当我使用 ""$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或类,而不是依赖低级的实现细节来选择它?测试不必关心控制器与控制器。它应该找到由“init-request”标识的按钮(例如),并测试它是否显示。
-
我认为从现在开始我们必须这样做,应用程序上的许多功能都没有得到严格的 ID。必须邮寄工作人员开始将 id 放在按钮和元素上。
-
@JBNizet 是对的。除了它不起作用之外,如果您将测试与内部组件结合起来,它们将不断中断。维护噩梦......
标签: angularjs typescript protractor angularjs-controlleras