2011-12-08 36 views
4

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

  • 访问google.com
  • 输入搜索词
  • 点击“谷歌搜索”
  • 检查有10个结果和2个广告

对于这种“实时”测试,QUnit会是一个合适的工具吗?

回答

7

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

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

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

我会用qunit来测试JavaScript组件,而不依赖它们。

如果您正在寻找另一个工具来完成这项任务,我会推荐Selenium,它会根据您的需要来做。

祝你好运。

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";