シミュレーしてどの様に返事したらリフレッシュボタンユニットテスト改札口
-
23-09-2019 - |
質問
私は単体テスト(程度php,c#,dに4)の挙動のページがブラウザの"戻る"ボタン(または、リフレッシュ)ボタンをクリックします。
はできるかをシミュレートブラウザの戻る/進む/更新ボタンユニットです。あるユーティリティクラスを提供するなどの機能性?
第2回の編集:
を解決するために必要となる改札口を出試験設備にかをシミュレーションのブラウザと。私の理解っていなければいけないと考えて以下の二つのことをシミュレーションのブラウザの行動ユニットから試験:
(1)改札口を教えて正確にご記URL)が呼び出 WicketTester.startPage()
または WicketTester.clickLink()
.
(2)改札を工程と同じ要求した例受け入れのURLを記録したことは以前に発表したよ(1).
こういう仕事がしたい方に対応 WicketTester
, FormTester
そして私は、コンポーネントtdaを主張し、より素敵な機能これらのクラス.としていますの問題からのご要望に改札施設としない外部からのお客様HttpUnit/HtmlUnit/セレン.
解決
あなたは、シミュレートすることはできません改札ユニットテストの「戻る」機能が、それは完全にあなたが戻ってクリックしたときにどうなるの改札は、あなたがしかし、ほとんど何をテストすることができないものの範囲のです。
あなたは、テストしようとしているものについては、ポストもっと何か具体的な、一般的にバックボタンは、ちょうどあなたの改札で「デタッチ」コンポーネントの束を与えるだろう、とあなたはそれらの
をテストすることができます他のヒント
これはかなり確かに、明示的にリソースを節約するために、戻るボタンをサポートしていないダミーのWebApplicationを使用する、WicketTesterによってサポートされていません。
私はウィケットにシミュレートする痛みを伴うだろう疑い...
あなたの最善の策は、のSelenium RC のように、ブラウザベースのテストツールを使用するかもしれません。私はそれを自分自身を試していないが、それは、ブラウザの戻るボタンでクリックをシミュレートしますgoBack()
メソッドを持っています。
チェック HtmlUnit, きを真似て前後のイベントを使用 歴史 クラスです。
@Test
public void testHistory() throws IOException {
// Create a web client
final WebClient webClient = new WebClient();
// Surf to a page
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net/");
// Click "Get started" link
page.getAnchorByHref("gettingStarted.html").click();
// Get History
History history = webClient.getCurrentWindow().getHistory();
// Current page
assertEquals("http://htmlunit.sourceforge.net/gettingStarted.html",
history.getUrl(history.getIndex()).toString());
// Go back one page
history.back();
assertEquals("http://htmlunit.sourceforge.net/",
history.getUrl(history.getIndex()).toString());
}