2012-05-27 14 views
5

私はQUnitとJQueryを使用しており、私のウェブサイトのユーザーインターフェイスをテストしたいと考えています。私のwebappはiframeにあります。ナビゲーションリンクをクリックして、新しいページが読み込まれるまで待ってから、JQuery経由でいくつかの項目を選択して、正しいページが読み込まれていることを確認します。QUnit、JQuery、iframeによるUIテスト - 新しいページが読み込まれるまでの待ち時間は?

これを行うには?

私はsetTimeout()、delay()、ajaxSetup()、setInterval()を今まで読んでいます:成功しませんでした。

// Klick auf Unternehmen und vergleiche h1-Ueberschrift. 
     test("Klick Unternehmen, checke Ueberschrift", function() { 
      var mes = "test: Klick Unternehmen, checke Ueberschrift;"; 
      var exp = "Unternehmen"; 
      jQuery.ajaxSetup({ async: false }); //turn off async so tests will wait for ajax results 
      jQuery('#testframe').attr('src', './../index/unternehmen/').delay(3000); 
      var t = setTimeout('doNothing()', 2000); 
      //alert('now'); 
      var act = jQuery('h1').eq(1); 
      //var act = "Unternehmen"; 
      //console.log(mes); 
      equal(act, exp, mes); 
     }); 

がUPDATE:私はアヤックスでressourceを呼び出すことができました。ここ

は、コードスニペットです。とにかく、click() - wait() - compare()の呼び出し方法はまだ分かりません。

// Klick auf Unternehmen und vergleiche h1-Ueberschrift, Ajax S. 250 
     test("Klick Unternehmen, checke Ueberschrift", function() { 
      jQuery.ajax({ 
       url: "./../index/unternehmen/", 
       async: false, 
       success: function(response){ 
        if (response){ 
         jQuery('#ajaxcontent').html(response); 
        } 
       }, 
       context: document.body, 
       type: "POST" 
      }); 
      var mes = "test: Klick Unternehmen, checke Ueberschrift;"; 
      var exp = "Unternehmen"; 
      var act = jQuery('#ajaxcontent h1').eq(0).text(); 
      equal(act, exp, mes); 
     }); 

答えて

2

あなたは

$("#yourIframeID").load(function(){ 
    //do your testing stuff here.. 

}) 

ありQUnitで非同期テストのための方法もありますが、私はそれはあなたのケース(asyncTest(name, expected, test))に適用されると確信しても

を試してみてください
関連する問題