最近,我想到如何通过在Continuous Integration机器上连续检查xHTML源来提高项目质量。

看,我们有一个项目

http://sourceforge.net/projects/jtidy - jTidy JTidy是HTML Tidy的Java端口, HTML语法检查器和漂亮的打印机。

它可以通过命令行界面验证xHTML。或者这个工具可以按我们需要的方式扩展,因为所有的源代码都是开放的。

我们可以覆盖每个Selenium验证方法,例如assertTextPresent或任何其他方法,因此它将调用jTidy(通过提供当前状态的HTML源代码),如果发生某些错误或警告 - 它可以保存为Continuous集成机器构建的日志 - 因此任何项目的相关内容都可以看到此信息。

我们不能重写所有的Selenium方法,在每一步上集成这个调用,但要在我们想要的地方进行调用(在DOM操作之后)。

是的,我们可以为我们的网站使用W3C标记验证器,但是没有任何可能使用此验证器验证页面的初始状态源。页面创建后,可能会有很多DOM操作会产生标记错误/警告 - 我们可以使用此方案立即找到它。

使用持续集成的一个好处是,您可以从代码中快速反馈 - 如何与现有代码库集成,测试单元和功能测试是否通过。为什么不获取其他有用信息,例如即时xHTML标记验证状态。我们越早确定问题,就越容易解决问题。

我还没有在google上找到关于这个主题的任何内容。 想知道,你对这个想法有什么看法?

有帮助吗?

解决方案

似乎是一个有价值的想法。

我之前用CI做了两件类似的事情:

  1. 我使用了Ant的 XMLValidate 任务来验证静态xhtml文件作为构建过程的一部分

  2. 我使用了httpunit来拉取我之后解析为xml的页面

  3. 但是,在功能测试运行期间绑定到Selenium以固有地验证内容的想法对我来说是新颖的。

其他提示

我认为,这个想法很棒,但很难从头开始实施。 但这个想法就像构建/质量验证过程的演变一样,因此有一天它将作为随时可用的工具发布。

好主意! - 事实上我只有完全相同的想法,只是检查一下是否有人之前做过 - 唉!看起来你打败了我:)

我正在考虑捕获并自动将每个被selenium命中的页面提交给w3c HTML和CSS验证器(通过文件而不是链接以保持状态) - 没有任何错误。我喜欢这个简单的想法。

原则上很棒,但我不太确定如何从Selenium调用它。我很乐意看到文档说明如何从Selenese或PHPUnit运行它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top