2016-08-01 12 views
0

私はseleniumwebdriverjavascriptのWebアプリケーションのテストを書いています。私が直面している問題は、多くの操作が非同期であるため、インデントが狂ってしまうことです。例えば、要素の値を読み取るために、私は構造Javascript + Selenium、書き込み可能なテスト

driver.findElement(By.id('my-element')).then(function(elem) { 
    elem.getAttribute('innerHTML').then(function(text) { 
     // Some operation 
     // Read next element with same structure 
    }); 
}); 

を使用していますあなたが見ることができるように、私は複数の要素の値を読み取るために必要がある場合は、インデントがすぐに非常に深くなります。この種の問題を避けるためのベストプラクティスがありますか?要素から値を読み取る唯一の方法は "then"ですか?

+2

この質問は[コードレビュー](http://codereview.stackexchange.com/)に適しています。 – Guy

答えて

0

あなたが心配しているのは、読み取り可能なテストを書くことだけです。あなたのコードベースには、ある種のコード品質管理ツールが必要です。

私はより清潔なコードを書くのに役立つJSLintを好む。 ECMAScriptプログラミング言語の標準に準拠しており、問題が見つかった場合は私に苦情を申し立てます。

関連する問題