gpt4 book ai didi

html - 将 JTidy 与 Maven2 结合使用

转载 作者:行者123 更新时间:2023-11-28 02:18:36 24 4
gpt4 key购买 nike

我正在使用 spring2 和 Maven 开发一个 Java 项目。

我已经将 JSLint4Java 合并到 Maven 中,但现在发现自己需要做一些进一步的验证。

构建中有许多核心页面,即主页、搜索页面等,我想自动测试最终 HTML 输出的规范有效性,即来自 Maven 构建的 Valid XHTML 1.1 strict。生成最终 HTML 输出的 html 模板文件都是模块化和分离的,因此单独验证组件将不起作用,因为它们只有在作为一个整体执行后才会生效。

我不想测试构建中的每个页面,因为这会大大降低它的速度,我更喜欢有一个 XML 配置文件,其中包含我希望通过验证过程运行的 URL 列表。

我找到了 Jtidy 项目,但不确定如何将它合并到 Maven 构建中并让它调用特定的 URLS 进行验证。

以前有人做过吗?有人可以简要介绍我执行此操作所需的阶段吗?

干杯

最佳答案

如果 JTidy 真的是你想要的,那么有一个 Maven JTidy Plugin .它似乎适用于文件,而不适用于 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 plugin 部署你的应用程序。 .然后,您可以使用 Ant 的 Get Task使用 antrun 插件。最后,执行 jtidy 验证。

如果您想在构建期间验证生成的 HTML,您需要部署您的应用程序并针对它运行一些工具。你应该看看 w3c-markup-validation-filter .使用 maven cargo plugin使用过滤器部署您的应用程序(cargo 允许合并 web.xml 因此您可以仅为验证测试​​添加过滤器)并运行一组基本的 selenium 测试来浏览您的页面并检查是否由 W3cMarkupValidationFilter 注入(inject) HTML 页面的小框是绿色的。)

关于html - 将 JTidy 与 Maven2 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1803183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com