2016-08-01 7 views
0

Ich schreibe Tests für meine Webanwendung mit seleniumwebdriver für javascript. Das Problem, mit dem ich konfrontiert bin, ist, dass, weil viele Operationen asynchron sind, der Einzug verrückt wird. Zum Beispiel für einen Wert eines Elements zu lesen, ich bin eine Struktur mitJavascript + Selen, schreiben lesbare Tests

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

Wie Sie sehen können, wenn ich Werte von mehreren Elementen lesen müssen, wird die Vertiefung schnell sehr tief. Gibt es einige Best Practices, um diese Art von Problem zu vermeiden? Ist "dann" die einzige Möglichkeit, Werte aus Elementen zu lesen?

+2

Diese Frage ist besser geeignet für [code review] (http://codereview.stackexchange.com/) – Guy

Antwort

0

Wenn es Ihr Anliegen ist, einen lesbaren Test zu schreiben, dann sollten Sie eine Art Werkzeug zur Codequalitätskontrolle in Ihrer Codebasis haben.

Ich bevorzuge JSLint, die mir hilft, sauberer Code zu schreiben. Es folgt den Standards ECMAScript Programmiersprache und beschwert mich, wenn irgendwelche Probleme finden.