使用QUnit测试实时网站

时间:2011-12-08 12:18:01

标签: testing qunit

我可以使用QUnit测试实时网站吗?例如,我可以写一个测试说:

  • 转到google.com
  • 输入搜索字词
  • 点击“Google搜索”
  • 检查有10个结果和2个广告

QUnit会成为这种“实时”测试的合适工具吗?

2 个答案:

答案 0 :(得分:7)

如果qunit是唯一可用的工具/测试框架,并且您将要测试的页面允许GET请求,则可以使用qunit实现。

如何做这个qunit是你可以使用JSONP对你正在测试的页面进行ajax调用并获得响应。然后你会断言响应中存在某些元素。

对于谷歌来说,谷歌本身在搜索结果上有一个非常复杂的页面结构,我甚至都不会尝试做这样的事情。

我会使用qunit自己测试javascript组件而不依赖。

如果您正在寻找其他工具来完成此任务,我会推荐Selenium,它可以完全按照您的要求进行操作。

祝你好运。

答案 1 :(得分:5)

您想测试您拥有的网站或随机网站吗?

  • 如果您想测试自己的网站 您可以将实时网站嵌入到iframe中,并在测试中的用户界面中执行操作。
  • 如果您想测试google.com等实时网站,则需要执行此服务器端,因为您无法从javascript / QUnit访问它们。

如果您可以访问google.com这样的网站所有者,那么:

var submitted = false;
function starttests(){
     if(!submitted)
     test("testInput", function() {
         expect(1);
         submitted = true;

         var dom = iframe.contentWindow || iframe.contentWindow.document;
         jQuery(dom).find('input[type=text]').val("Testing google.com");
         jQuery(dom).find('form').submit();
         ok( true, "form submitted" );
     });

     else
     test("testResult", function() {
         var dom = iframe.contentWindow || iframe.contentWindow.document;

         // Check for elements in dom.
     });
}

iframe.onload(starttests);
iframe.src = "http://google.com";