Protractor: 无法在文本字段中插入10万个测试数据字符

创建于 2015-09-23  ·  3评论  ·  资料来源: angular/protractor

你好。 为了进行测试,我需要在输入字段中插入100 000个字符。 问题在于sendKeys()无法处理如此大量的数据,并且浏览器冻结。 它开始将输入数据输入到文本字段,然后在一段时间停止响应后,由于超时而导致测试失败。

我尝试了不同的方法来解决此问题,例如将文件分成几部分,但它甚至不能处理3万个字符。

手动地,我只是将数据从文本编辑器复制粘贴到该字段,并且效果很好。

有人有解决方案如何在文本字段中插入10万个字符?
谢谢!

代码:
var fs = require('fs');
var path = require('path');
var filePath = path.join(__ dirname,'datafile.json');
var data = require(filePath)
browser.findElement(By.tagName(“ textarea”))。sendKeys(data.cbb);
browser.sleep(5000);
browser.findElement(By.name(“ Submit”))。click();

question

所有3条评论

WebDriver的sendKeys实际上并不是要处理100,000个按键的操作。 它本地模拟事件,因此对于每个单独的字符,它都发送一个单独的请求。

我想您可以通过直接在浏览器中执行的JavaScript设置文本来解决此问题:

browser.executeScript('findMyTextarea.textContent="myreallyreallylongstring"');

结束语作为支持问题-请直接将此类一般支持问题定向到适当的支持渠道,请参阅https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions

我已经用以下代码解决了这个问题:

var data = fs.readFileSync(filePath,'utf8')
var element = browser.findElement(By.tagName("textarea"));
browser.executeScript("arguments[0].value = arguments[1];", element, data);

感谢您的帮助! :+1:

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

rafalf picture rafalf  ·  3评论

vishalshivnath picture vishalshivnath  ·  3评论

jmcollin78 picture jmcollin78  ·  3评论

utpallikipe picture utpallikipe  ·  3评论

smarts picture smarts  ·  3评论