2013-05-09 5 views
1

Я хочу предоставить отчет о различии для теста без регрессии. Регрессионный тест заключается в сравнении файлов HTML и генерации отчета о том, какие файлы являются одинаковыми и которые не совпадают.Инструмент для сравнения HTML-файлов и создания отчета в формате HTML или XML

Я нашел один инструмент под названием «CS-HTMLDiff», в котором я могу сравнивать текстовые или HTML-файлы и генерировать отчет в html или в XML-файле. Мне не удалось использовать этот инструмент, так как я хочу выполнить эти тесты в ant build, но этот инструмент не поддерживает функциональность командной строки. (Я не нашел другого способа запустить этот инструмент из кода или сборки ant, так как он не поддерживает функциональность командной строки)

Есть ли какой-либо другой инструмент или java-библиотека, которая может сравнивать html-файлы и генерировать отчет? (Лучше, если его openource)

Я уже прочитал некоторую информацию о стеке, но я не нашел решения для своей проблемы. A customizable diff tool that can produce report (in XML, HTML)

Спасибо за вашу помощь

+0

Вы можете проверить 'Beyound compare'. В этом вы можете сравнивать отдельные файлы или папки, и вы можете сохранить отчет сравнения в формате HTML – gnanz

+0

Это «Beyond Compare», и это довольно мило. Это не бесплатно ($ 30- $ 60), но вы можете создавать отчеты о различиях в HTML или обычном тексте и с различными вариантами. Я очень рекомендую это; Я использую его для всех моих потребностей сравнения файлов, таких как исходный код файла. – Frecklefoot

ответ

0

Вы мой попробовать DaisyDiff, библиотека Java, что дифференциалы (сравнивает) HTML файлы. Он выделяет добавленные и удаленные слова и аннотирует изменения в стиле.
Либо используйте командную строку (см. DaisyDiff examples), либо java api. Смотрите, пожалуйста, Main Class и DaisyDiff Class, чтобы вы пошли.
Here is a blogpost (на немецком языке) с некоторым фрагментом, генерирующим отчет html.

EDIT после комментарий

Чтобы просто проверить, есть ли какие-либо различия и поймать эти файлы, вам не нужны какие-либо аддоны,
использовать что-то вроде:

<project> 
<fileset dir="/path/to/folder1" includes="**/*.html" id="diff"> 
<different targetdir="/path/to/folder2" ignoreFileTimes="true"/> 
</fileset> 

<pathconvert refid="diff" pathsep="${line.separator}" property="htmldiff"/> 
<!-- if fileset diff is empty, ${htmldiff} and htmldiff.txt are also empty --> 
<!-- echo to file, one file per line --> 
<echo file="htmldiff.txt">${htmldiff}</echo> 
</project> 
+0

Спасибо за ваш ответ. Я думаю, что отчет, созданный DaisyDiff, показывает разницу между файлами, но мне нужно одновременно сравнить большое количество html-файлов и создать отчет, который должен показывать только сравниваемые файлы, такие же или нет. (Так же, как отчет JUnit, содержащий тесты, или нет, мне нужно сообщить, что сравниваемые файлы одинаковы или нет). @Rebse –

+0

См. Мой обновленный ответ для возможного решения. – Rebse

+0

Это решение для блочного дела выбрасывает исключение null-указателя. –