javascript - Protractor - 单击和发送键不起作用

标签 javascript angularjs protractor

我正在编写 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"]'));

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

  1. 浏览器驱动(尝试使用chromedriver)
  2. 缺少可测试性插件。请访问此链接以获取更多信息:https://www.npmjs.com/package/protractor-testability-plugin

确保您使用 jasmine2 框架,并更新 webdriver,在命令行中键入:webdriver-manager update

关于javascript - Protractor - 单击和发送键不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156567/

相关文章:

javascript - 当客户端通过网站提交数据时,如何触发Linux网站服务器中的python模块

删除项目时的 JavaScript 计算

javascript - 如何使用 firebase 和 angularfire 计算数组中对象的总值?

javascript - 在 ES6 + Angular 1.4 指令中插入

javascript - 捕获 ESLint 中所有声明的变量

Java Servlets - 如何检测用户是否来自移动设备?

javascript - Extjs 面板。键盘事件

javascript - 如何在 AngularJS 指令中设置 CSS 类,如果没有设置则默认设置?

angularjs - Protractor 超时等待存在的元素

javascript - Protractor 测试 : How to set the value of text elements in a login form?