jquery - 使用 QUnit、JQuery 和 iframe 进行 UI 测试 - 如何等待新页面加载?

标签 jquery wait qunit

我正在使用 QUnit 和 JQuery,想要测试我网站的用户界面。我的网络应用程序驻留在 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);
        });

更新:我能够通过ajax调用资源。无论如何,仍然不知道如何调用 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);
        });

最佳答案

你应该尝试

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

})

QUnit 中还有一种异步测试的方法,但我不确定它是否适用于您的情况( asyncTest( name, expected, test ) )

关于jquery - 使用 QUnit、JQuery 和 iframe 进行 UI 测试 - 如何等待新页面加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773236/

相关文章:

jquery - float 清除不工作

javascript - 在 Javascript 中动画算法

停止和等待算法的 Python 实现

c - 使用 waitpid 选项等待所有子进程 __WALL

javascript - QUnit 失败并发出咕噜声,在浏览器中通过

javascript - 在 Web 应用程序中放置 JavaScript 单元测试文件的位置

javascript - 如何使用 jquery 组合框,以便有一个输入框并选择下拉列表附加到它

javascript - 数组按下按钮点击jquery

JavaFX - 等待用户在元素上单击鼠标

javascript - 如何延迟 document.ready 直到设置变量?