我正在编写一个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()方法,测试就会挂起。
任何想法可能会发生在这里?
答案 0 :(得分:3)
如果页面不是角度页面,我们使用browser.ignoreSynchronization = true;
。因为量角器是针对角度编码的。但是,我看到了选择器:
var commentField = element(by.css('input[ng-model="comment"]'));
此错误可能是由于其他原因造成的:
确保使用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')
})