2017-05-13 6 views
0

Ich habe eine Liste von Textfeldern, die jeweils die gleichen Klassennamen haben. Dies ist der HTML-Code:Wie durch jedes Textfeld in Selen zu iterieren?

jedes Textfeld hat den gleichen Klassennamen und ich versuche, die Felder zu automatisieren, indem Sie die Schlüssel zu jedem Textfeld senden, indem Sie die sendKeys-Methode in Selen verwenden. Ich verwende JavaScript (Chai, Mocha, Node), um meine Automatisierung zu starten.

   <div> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1">adad</textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1">adadad</textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       <textarea class="form-control textarea-multi" name="191_table_1"></textarea> 
       </div> 

Das habe ich ausprobiert. Ich hat versucht, findElements von classname und durchlaufen von dem Klassennamen zu verwenden und dann füllen Sie das jedes Textfeld:

describe('complete text fields',function(){ 
     it('fill all the text fields',function(done){ 
      driver.findElements(By.css("input[type=\'form-control textarea-multi\']")).then(function(texts){ 
       console.log("got the list of texts"); 
       texts.forEach(function(textField){ 
        console.log("sending keys for each of the text field"); 
        textField.sendKeys("test"); 
        count = Number(count) + 1; 
        console.log(count); 
        if(count === 6) { 
         done(); 
        } 
       }); 
      }); 
     }); 
    }); 

aber es funktioniert nicht mit einem Zeitüberschreitungsfehler. (Fehler: Timeout von 15000ms überschritten.) Jede Hilfe wird sehr geschätzt werden Vielen Dank im Voraus.

+0

prüfen: http://stackoverflow.com/questions/16607039/in-mocha-testing-while-calling-asynchronous-function-how-to-avoid-the -timeout-er – kushal

Antwort

1

Versuchen zu verwenden:

By.css(".form-control.textarea-multi") 
By.xpath("//*[@class='form-control textarea-multi"] 
+0

Ich bekomme immer noch den gleichen Fehler. Ich habe jedoch versucht, die Array-Größe zu drucken. Und es scheint Null zu sein. Ich habe beide Vorschläge ausprobiert. driver.findElements (By.By.xpath ("// * [@ class = 'formsteuer-textarea-multi']")) – kushal

Verwandte Themen