量角器无法通过绑定$ ctrl找到元素

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了量角器无法通过绑定$ ctrl找到元素相关的知识,希望对你有一定的参考价值。

我有一点使用Protractor的经验。使用by.css,by.name和by.id我可以选择元素但是在使用by.binding时我的测试失败了。

我错过了一些明显的东西吗

视图:

<input type="text" ng-model="$ctrl.speaker.firstName" maxlength="60" />

量角器测试:

var EC = protractor.ExpectedConditions;
let firstName = element(by.binding('$ctrl.speaker.firstName'));
browser.driver.wait(EC.presenceOf(firstName), 2000, 'find element firstname');
firstName.sendKeys('Bill');

TestResult中:

Failures:
1) Speakers should ..
  Message:
    Failed: find element firstname
    Wait timed out after 2003ms
  Stack:
    TimeoutError: find element firstname

有一些SO q&a,但它们并没有帮助我找到错误的东西。

更新

好吧,这是非常明显的by.binding应该是by.model

答案

你应该使用by.model()方法。

let firstName = element(by.model('$ctrl.speaker.firstName'));

以上是关于量角器无法通过绑定$ ctrl找到元素的主要内容,如果未能解决你的问题,请参考以下文章

NoSuchElementError:没有这样的元素:无法找到量角器的元素

页面加载后无法找到嵌套元素

如何使用量角器定位器找到子元素?

量角器+故事书:失败:使用定位器找不到元素:By(css选择器)

在量角器中初始化之前无法访问“元素”

实用代码片段将json数据绑定到html元素 (转)