【发布时间】:2014-05-21 21:32:19
【问题描述】:
我正在为我的应用程序使用量角器编写端到端测试。我看到了表单错误:
No element found using locator: By.model("address.fullName") error.
引发此错误的相应量角器代码是:
var angularElement = element(By.model("address.fullName"));
angularElement.sendKeys("test");
但是我可以使用以下方法获取此元素:
var angularElement = element(By.xpath('//input[@ng-model="address.fullName"]'));
HTML sn-p:
input ng-model="address.fullName" type="text" class="control-input ng-pristine ng-invalid ng-invalid-required" size="40" name="fullName" ng-class= "{ 'required-field': isInformationSubmitted }" required=""
我不确定为什么会这样。有什么想法吗?
【问题讨论】:
-
你能放一个sn-p的视图吗? HTML 是什么样子的?
-
在内部,我认为
By.model定位器依赖于应用了ng-binding类的元素。这个类应该由 angular 自动应用,但我见过它没有发生的实例 (example)。检查您要查找的元素是否具有ng-binding类。如果不是...我不建议将其放入您自己,而是简单地切换到不同的定位器(xpath 或 css),直到 angular 的基本问题得到解决。
标签: protractor