我正在使用QUnit和JQuery,并希望测试我的网站的用户界面.我的webapp位于iframe中.我想点击导航链接,然后等到新页面加载,然后我想通过JQuery选择几个项目,以确保加载了正确的页面.
怎么做到这一点?
我读到了关于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);
});
Run Code Online (Sandbox Code Playgroud)
更新:我能够通过ajax调用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);
});
Run Code Online (Sandbox Code Playgroud)
小智 2
你应该试试
$("#yourIframeID").load(function(){
//do your testing stuff here..
})
Run Code Online (Sandbox Code Playgroud)
还有一种用于异步测试的方法QUnit,但我不确定它是否适用于您的情况(asyncTest( name, expected, test ))
| 归档时间: |
|
| 查看次数: |
1483 次 |
| 最近记录: |