2009-09-27 74 views
1

说一个人写一个“浏览器”,并想在许多页面上测试它,包括编码损坏,HTML无效,缺少元标记或标题等等。一个明显的解决方案是获得一大堆URL并在每个URL上测试应用程序,这需要很多时间,并不能保证前1000个网址是好的,而接下来的100个网址会被打破。那么是否有一个网站提供了多种不同的破损页面供测试?是否有用于测试的网站?

更新:

对不起,原来的“Web应用程序”是误导性的,我指的是桌面浏览器一样的应用

更新2:所以我

的功能之一是填补HTML表单倒是喜欢测试,URL编码的是否正确,是否所有域得到了填补等

更新3:

另一个例子可能是,在Shift-JIS中存在一个带有外部值的提交按钮,如果我的应用程序渲染它伪造并发送错误的POST请求字符串(这是ruby机械化仍然会发生的事情),该网站通知我,兼容的应用程序将以另一种方式对字符串进行编码

+0

我认为'网络应用程序'的意思是'读取网页的程序' - 对吗?不是通常的定义。 – ijw 2009-09-27 12:16:19

+0

应该处理大量破损的网页的唯一的东西应该是网络浏览器,这是你的意思是“网络应用程序”? – 2009-09-27 12:16:53

+1

请解释您的应用程序如何处理这些网址。您想如何根据URL测试您的Web应用程序? – tangens 2009-09-27 12:17:12

回答

1

假设你正在构建一个网络浏览器,我使用自己的电脑作为服务器,使用ApacheLighttpd建议(无论是在Windows,Linux或Mac);那肯定会是最快的方式?

要创建“损坏”页面的列表,请使用W3 Validator在线验证各种页面,查看源代码,然后另存为html,删除各种结束标签,嵌套<p>标签,从varnish名称或分号中移除JS脚本,在xhtml-strict doctype下使用html 4.1等。

这样做的好处是,您知道它们是如何提前断开的,以及预期结果应该如何(或者可能是)是。此外,您不必担心(太多)网络对渲染时间的影响。

2

您可以尝试acid tests,它们将确保您的程序符合标准。这不完全是你要求的,但这是朝着正确方向迈出的一步。大多数浏览器以不同的方式处理破损的页面和怪癖,人们通常不想测试他们的网站是否在不同的浏览器中呈现出碎片,所以我不认为会有专门为你设计的东西,但它不会如果你想专门打破你的计划,那么很难做到。

例如,

<sCriPt 
type="text/javascript" 
> 
/* <span class="*/>awesome"> // */ 
</script> 
<b <i>>a</></b> 
<body type="muscular"></body> 
<! text 
-- 

我想你指向Adobe Air,我认为这将有助于你的目的:

的Adobe AIR是一个跨操作系统的运行时 ,使您可以使用您的 现有的HTML/Ajax,Flex或Flash网络 开发技巧和工具可用于构建 并将富Internet应用程序 部署到桌面。