Lettuce / SplinterまたはJsTestDriverに、バックボーンで生成されたDOMオブジェクトとのユーザーインタラクションのテストを実行させることができません。たとえば、helloバックボーンチュートリアルで、「リストアイテムの追加」というラベルの付いたボタンに対するユーザーのクリックをシミュレートし、<li>
テキスト「helloworld1」の要素が表示されていることを確認します。
JsTestDriver: button要素への参照を取得して呼び出すことはできますclick()
が、document.getElementsByTagName("li")
失敗します(またはnullを返しますか?)。
Johansenの優れた本によると、イベントハンドラーのテストは、単体テストタスクではありません。そこで、Django用のBDD(?)ツールを試しました。
Lettuce / Splinter / Django: Splinter Browswerオブジェクトはボタン内のテキストを見ることができません。参照を取得したり、クリックしたりしてもかまいません。(HTMLを介して作成された要素に対してこれらの操作を処理します。)world.browser.is_text_present()もfind_by_id()も機能しません。前者に待ち時間を渡すことは役に立ちませんでした。
私は本当にSeleniumに直行することを避けたいと思い、これらのツールがそれを不要にしたと思いました。んで、どうする?