繁体   English   中英

在Maven2中使用JTidy

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM