Protractor: 100 000 Zeichen der Testdaten können nicht in ein Textfeld eingefügt werden

Erstellt am 23. Sept. 2015  ·  3Kommentare  ·  Quelle: angular/protractor

Hallo. Zu Testzwecken muss ich 100 000 Zeichen in das Eingabefeld einfügen. Das Problem ist, dass sendKeys () eine solche Datenmenge nicht verarbeiten kann und der Browser einfriert. Es beginnt mit der Eingabe von Daten in ein Textfeld und reagiert nach einiger Zeit nicht mehr und der Test schlägt aufgrund einer Zeitüberschreitung fehl.

Ich habe verschiedene Methoden ausprobiert, um dieses Problem zu lösen, z. B. die Datei auf die wenigen Teile aufzuteilen, aber sie kann nicht einmal 30.000 Zeichen verarbeiten.

Manuell kopiere ich nur die Daten aus dem Texteditor in dieses Feld und es funktioniert einwandfrei.

Hat jemand die Lösung, wie man 100 000 Zeichen in das Textfeld einfügt?
Vielen Dank!

Code:
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

Alle 3 Kommentare

Die sendKeys von WebDriver sind nicht wirklich für 100.000 Tastendrücke gedacht. Es simuliert Ereignisse nativ und sendet für jedes einzelne Zeichen eine separate Anfrage.

Ich nehme an, Sie könnten dies umgehen, indem Sie den Text direkt über JavaScript einstellen, das im Browser ausgeführt wird:

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

Schließen als Support-Frage - Bitte richten Sie allgemeine Support-Fragen wie diese an einen geeigneten Support-Kanal, siehe https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions

Ich habe dieses Problem mit diesem Code behoben:

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

Danke für Ihre Hilfe! : +1:

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen