2016-04-19 12 views
1

私は、Protractor v3.2.2をNode.js v5.10.1とともに使用して、Chromeでテストを実行しています。sendKeysは角度を待っていませんか?

基本的に私が観察したことは、フォームフィールドが塗りつぶされていないためフォームを送信できないため、テストの1つが継続的に失敗するということです。失敗ステップは、効果的に次のようになります。

field.sendKeys(value); 
checkbox.click(); 
submitButton.click(); 

私はそれを変更した場合:

field.clear().sendKeys(value); 
checkbox.click(); 
submitButton.click(); 

か:それは滞りなく通る

browser.waitForAngular(); 
field.sendKeys(value); 
checkbox.click(); 
submitButton.click(); 

私の疑いは、sendKeysは、すべてのWebDriverアクションが実行前にbrowser.waitForAngularを呼び出していることをドキュメントが示唆しているにもかかわらず、ページが完全に読み込まれるのを待たないということです。誰にも問題に関する考えはありますか?これはバグでしょうか?

答えて

0

sendKeysを使用して効果的な結果が必要な場合特定の時間、ブラウザをスリープ状態にする必要があります。

コードの前後にbrowser.driver.sleep(500);を追加してください。これは効果的です。

これを参照してください。

field.sendKeys(value); 
browser.driver.sleep(500); 

checkbox.click(); 
browser.driver.sleep(500); 

submitButton.click(); 
+0

はい、待って問題に役立つだろうが、それは(.MYの質問は、しかし、解決策を見つけることに関するものではありません(どちらかといえば、 'browser.wait'が望ましいだろう)、そのような場合を扱うのは非常にエレガントな方法はありませんなぜなら、 'sendKeys'は、デフォルトでは' browser.waitForAngular'ですべてのWebDriverアクションがラップされているということです)。私はより明確にするために私の質問を編集しました。 – calendir

0

待つように約束してください。

field.sendKeys(value).then(function(){ 
    checkbox.click().then(function(){ 
     submitButton.click().then(function(){ 
     expect(thisToShow).toBe(shown); 
    }); 
    }); 
}); 
関連する問題