私はwicketTester.getServetResponse.getDocument
を使ってテスト用の現在のページのテキストを取得しましたが、ajaxリクエストの後はページ全体ではなくajaxレスポンスに設定されています。現在のWicket Pageのソースを入手できますか?
レンダリングされたページ全体を表現する方法はありますか?ブラウザはajax操作後にそれを見ていますか?
私はwicketTester.getServetResponse.getDocument
を使ってテスト用の現在のページのテキストを取得しましたが、ajaxリクエストの後はページ全体ではなくajaxレスポンスに設定されています。現在のWicket Pageのソースを入手できますか?
レンダリングされたページ全体を表現する方法はありますか?ブラウザはajax操作後にそれを見ていますか?
WicketTesterを使用すると、Ajax呼び出しをシミュレートし、アプリが正しいAjax応答を送信することがわかります。しかし、それは本当にアヤックスを行使しません。
私はWicketTesterからそれを得る方法はないと思います。
実際にレンダリングでAjax/javascriptエフェクトなどのすべての方法でアプリケーションをテストする必要がある場合は、テストのその部分にSeleniumのようなものを使用する必要があります。私は、次のアプローチが動作するはず願っていますWicketの道を考える
私はAjaxを使用しているわけではありませんが、たとえばAjaxを使用してパネルを表示した後にページソースを取得しています。ページの状態がサーバー上で保持されているとすれば、私はページ全体をリフレッシュすると、これが提供されるものに対応すると考えていますか? –
ページ状態はhtmlでレンダリングされたページ全体として保持されません.WicketTesterはajaxレスポンスの後にhtmlの現在の状態を取得する手段を提供しているとは思いません。 –
私はそれが事実であるのを恐れていました。たぶん、私は現在のURLの取得をシミュレートする必要があります。 –
:
考え方は次のとおりです。最初の応答はcです。ページの応答が完了したら、いくつかのモデルを変更するいくつかのAjax呼び出しを行い、最後にレンダリングされたページをインスタンスとして開始します。このようにして、Ajax呼び出しの更新モデルでページをレンダリングします。
ここで、getLastRenderedPageAsStringはgetServletResponse.getDocumentですか?これで、操作が実行され、今変更されたページが更新されます。私はそれに感謝を与えるだろう。 –
問題は、Ajax呼び出しに対する応答に任意のJavascriptを配置できることです。しかし、それに対処したくない場合は、オリジナルの全面的なDOMを保存し、Ajaxレスポンスのオブジェクトを繰り返し、完全なDOMのidで見つけて新しいバージョンに置き換えることができます。
これがどれくらい役に立つか分かりませんが、私の推測はそれほど大きくないでしょう。だから私はおそらくセレンと一緒に行くだろう。
私はWicketTesterにかなり満足していますが、コンポーネントを見つけることがどれほど難しいかを除きます。多分私はパスをとると正規表現のマッチに戻ります... –
これは実際にはhttp://stackoverflow.com/questions/6413022/how-do-i-query-the-text-of-an-element-component-using-wickettesterの複製であることがわかりました。ページはルート要素のテキストです。 –