2017-05-13 15 views
0

私はそれぞれが同じクラス名を持つテキストフィールドのリストを持っています。これはhtmlコードですセレンの各テキストフィールドをどのように反復処理するのですか?

各テキストフィールドのクラス名は同じですが、セレンのsendKeysメソッドを使用して各テキストフィールドにキーを送信してフィールドを自動化しようとしています。私は私のオートメーションを実行するためにJavaScript(chai、mocha、node)を使用しています。

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

これは私が試みたものです。

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(); 
        } 
       }); 
      }); 
     }); 
    }); 

が、それはタイムアウトエラーで失敗します。私はclassnameでfindElementsを使用して、クラス名のを反復処理し、各テキストフィールドを埋めるためにしようとしました。 (エラー:15000msのタイムアウトを超えました。)どんな助力も大変ありがとうございます。ありがとうございます。

+0

チェック:http://stackoverflow.com/questions/16607039/in-mocha-testing-while-calling-asynchronous-function-how-to-avoid-the -timeout-er – kushal

答えて

1

使用してみてください:ここ

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

私はまだ同じエラーが発生します。しかし、私は配列のサイズを印刷しようとしました。そしてそれはゼロに見えます。私は両方のあなたの提案を試みた。 driver.findElements(By.By.xpath( "// * [@ class = 'フォームコントロールテキストエリア - マルチ'] '')) – kushal

関連する問題