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