[英]using JTidy with Maven2
我正在使用spring2和Maven进行Java项目。
我已经将JSLint4Java合并到Maven中,但是现在发现自己需要做一些进一步的验证。
构建中有许多核心页面,即主页,搜索页面等,我想自动测试最终HTML输出的规范有效性,即来自Maven构建的Valid XHTML 1.1 strict。 生成最终HTML输出的html模板文件都经过模块化和分离,因此单独验证组件将无法工作,因为它们只有作为一个组件执行后才有效。
我不想测试构建中的每个页面,因为这会大大降低它的速度,我的偏好是拥有一个XML配置文件,其中包含要在验证过程中运行的URL列表。
我已经找到了Jtidy项目,但是不确定如何将其合并到Maven构建中,并使其调用特定的URL进行验证。
有人做过吗? 有人可以简要介绍一下我需要执行的步骤吗?
干杯
如果JTidy确实是您想要的,那么可以使用Maven JTidy插件 。 它似乎适用于文件,而不适用于URL:
<build>
<plugins>
<plugin>
<groupId>jtidy</groupId>
<artifactId>maven-jtidy-plugin</artifactId>
<configuration>
<srcdir>src/main/resources/html</srcdir>
<destdir>target/html</destdir>
<properties>src/main/resources/jtidy.properties</properties>
</configuration>
<executions>
<execution>
<goals>
<goal>jtidy</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
除非插件没有满足您的要求,否则我不建议您使用exec()
(这需要安装Tidy并因此损害可移植性)。
(编辑:实际上,我不确定您到底想达到什么目的 ,是否需要完全自动化的解决方案,是否需要自动化应用程序的部署等,但是这里还有一些提示。
对于手册,您可以使用wget保存生成的HTML。
对于GET:
wget http://www.mypage.com/index.jsp?foo=bar
或使用--post-data选项进行POST:
wget http://www.mypage.com/index.jsp --post-data="foo=bar"
然后运行JTidy。
如果要自动化,则必须首先使用
maven cargo插件部署应用程序。
然后,您可以将Ant的
Get Task与antrun插件一起使用。
最后,执行jtidy验证。
如果要在构建过程中验证生成的 HTML,则需要部署应用程序并对其运行一些工具。 您应该查看w3c-markup-validation-filter 。 使用maven cargo插件通过过滤器部署应用程序(cargo允许合并web.xml
因此您只能为验证测试添加过滤器),并运行一组基本的硒测试来浏览页面并检查是否有小方框W3cMarkupValidationFilter注入到HTML页面中是绿色的。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.