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

这是我测试中的代码:

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

控制台日志确认我确实在找到控件,但是一旦击中clear()方法,测试就会立即挂起。

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

最佳答案

如果页面不是有 Angular 页面,则使用browser.ignoreSynchronization = true;。因为 Protractor 的 Angular 编码。但是,我看到了ng选择器:

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

此错误可能是由于其他原因引起的:
  • 浏览器驱动程序(尝试使用chromedriver)
  • 缺乏可测试性插件。请访问此链接以获取更多信息:https://www.npmjs.com/package/protractor-testability-plugin

  • 确保使用jasmine2框架,并更新webdriver,键入以下命令行:webdriver-manager update

    07-27 20:14