量角器 - 点击并发送键不起作用

时间:2016-02-02 14:48:18

标签: javascript angularjs protractor

我正在编写一个Protractor测试,作为测试的一部分,我希望清除特定字段的内容(在textarea上),然后使用sendKeys方法将一些内容写入该textarea。

这是我测试的代码:

var commentField = element(by.css('input[ng-model="comment"]'));
console.log(commentField);
commentField.clear();
commentField.sendKeys('Here is a comment'); 

控制台日志确认我确实找到了一个控件,但只要它遇到clear()方法,测试就会挂起。

任何想法可能会发生在这里?

3 个答案:

答案 0 :(得分:3)

如果页面不是角度页面,我们使用browser.ignoreSynchronization = true;。因为量角器是针对角度编码的。但是,我看到了选择器:

var commentField = element(by.css('input[ng-model="comment"]'));

此错误可能是由于其他原因造成的:

  1. 浏览器驱动程序(尝试使用chromedriver)
  2. 缺少可测试性插件。有关更多信息,请访问此链接:https://www.npmjs.com/package/protractor-testability-plugin
  3. 确保使用jasmine2框架,并更新webdriver,键入命令行:webdriver-manager update

答案 1 :(得分:2)

只是为了让人们知道 - 我需要使用

1 collection)
     at System.Linq.Enumerable.ToList[TSource](IEnumerable

在调用移动到目标页面之后,但在尝试单击,清除或编辑任何内容之前。

快乐的日子!

答案 2 :(得分:0)

.clear()存在一个问题,如果您不履行承诺,则sendKeys()方法将不起作用。

尝试使用async/await或兑现承诺。

element.clear().then(() => {
    element.sendKeys('text to send')
})