Печатные публикации

#20: Генерируем PDF-отчеты о тестировании веб-приложений в Selenium

Анна Сергеева. Генерируем PDF-отчеты о тестировании веб-приложений в Selenium // Системный администратор. 2015. № 6. С. 66-67.


Как тестировщикам автоматически создавать отчеты о результатах своей работы в наиболее удобном формате PDF? И, хотя собственные возможности тестовых фреймворков этого не позволяют, все же есть удачное решение.


Опубликовано в разделе "Разработка / Тестирование"

Эта же статья на сайте журнала

Отчетность как обязательная часть тестирования



На настоящий момент одним из самых популярных средств автоматизации тестирования веб-приложений, пожалуй, с полной уверенностью можно назвать Selenium WebDriver. [1]


Большинство QA-команд и тестировщиков приложений, ориентированных на веб, с успехом применяют именно этот инструмент в ежедневной практике и остаются довольны получаемыми результатами. И это понятно. Selenium WebDriver удобен и прост в использовании, позволяет автоматизировать большую часть рутинной работы, а значит, существенно сократить время работы и количество прикладываемых усилий. И при этом у тестировщиков есть хорошая возможность обеспечить высокую достоверность выполняемого тестирования, и, как следствие, повысить качество производимого ПО в целом.


Здесь также стоит упомянуть, что в ходе работы тестировщики не только составляют перечень проводимых тестов и не только исполняют их, но также сталкиваются с необходимостью документирования полученных результатов. То есть, обязаны регулярно формировать производственные отчеты.


Такие отчеты считаются официальными внутренними документами компании. Они предназначены для размещения на внутренних сетевых ресурсах, распечатываются и предоставляются руководству для отчета о текущей ситуации по проекту и принятия управленческих решений. [2]


О корпоративных требованиях и проблемах реализации


Поскольку источником корпоративных стандартов и требований в компаниях разработчиков неизменно является вышестоящее руководство, то именно оно диктует, в каком виде ожидает получать любую, в том числе и отчетную, документацию от своих наемных сотрудников.


И в подавляющем большинстве случаев, руководству удобнее воспринимать информацию, представленную в бумажном виде или же в электронном, но максимально приближенном к печатному варианту. И наиболее подходящим здесь является формат PDF.


Казалось бы, все складывается очень удачно. Что может быть проще: раз уж тестировщики задействуют инструменты автоматизированного тестирования, то можно воспользоваться их встроенными возможностями и тут же генерировать автоматические отчеты о результатах обработки тестов в любом удобном для руководства формате. Никаких дополнительных денежных и трудозатрат, зато только самые свежие и актуальные отчеты практически мгновенно.


Но просто невозможно представить себе жизнь разработчиков без неожиданных трудностей. Так же и в этот раз.


Исследование средств автоматизации, распространенных среди тестировщиков, показывает, что такие фреймворки как TestNG [3] позволяют экспортировать отчеты только лишь в форматы HTML и XML, а это не самые удобные варианты.


Что ж, получается, одними лишь встроенными возможностями фреймворков не обойтись, и нужны дополнительные средства. И, хотя они пока еще знакомы небольшоу числу тестировщиков, такие средства все же существуют. И с их помощью можно достаточно удобно решать задачу генерирования PDF-отчетов о результатах автоматизированного тестирования веб-приложений. Итак.


Привязка библиотеки iText


Для генерирования PDF-отчетов существует специальная библиотека iText. Она предназначена для управления файлами в формате PDF, поддерживается в Java и C# и имеет открытый код, свободно распространяемый в формате файла JAR.


На первом этапе, нужно загрузить с доступного интернет-ресурса [4] файл библиотеки itext-2.1.7.jar, скопировать его в директорию тестируемого проекта и выполнить привязку библиотеки к проекту.


Для этого в среде разработки на форме свойств тестируемого проекта (Properties > Java Build Path > Libraries) необходимо воспользоваться кнопкой “Add External JARs”, в открывшемся диалоге выбрать нужный файл с библиотекой и сохранить изменения.


Добавление перехватчика JyperionListener


Также потребуется JyperionListener, специальный перехватчик работы фреймворка TestNG, свободно распространяемый разработчиками Java.


Необходимо скачать [5] файл перехватчика JyperionListener.java и скопировать его в корневую директорию исходных файлов тестируемого проекта.


После этого обязательно нужно добавить JyperionListener.java в качестве перехватчика работы того конкретного класса, о результатах тестирования которого необходимо сгенерировать отчет. В частности, удобно выполнить такую привязку при декларации класса:


@Listeners(JyperionListener.class)

public class PDFReportGen {

}


Автоматическое создание отчетов


После сохранения всех настроек, можно запускать в фреймворке TestNG тесты, заранее подготовленные для исследуемого проекта. По результатам запуска и исполнения тестов, в коревой директории исследуемого проекта автоматически генерируется файл PDF (рис. 1).


Рис. 1. Пример автоматического PDF-отчета о прохождении тестов


Подобные PDF-отчеты содержат отчет такую полезную информацию как имя исследуемого класса (Class), применяемый метод (Method) тестирования, длительность обработки (исполнения) каждого тестового сценария в миллисекундах (Time) и содержимое стека (Exception) для диагностики ошибок.


Таким образом, в ходе автоматизированного тестирования веб-приложений можно легко и быстро автоматически генерировать отчеты о результатах проделанной работы в формате PDF.


Литература


[1] Анна Сергеева. Инструменты тестировщика или с чего начать новичку // Системный администратор. 2014. № 7-8.

[2] Анна Сергеева. Автоматизация тестирования с Atollic TrueVERIFIER для повышения качества встраиваемых приложений // Компоненты и технологии. 2015. № 5.

[3] Сайт разработчиков фреймворка TestNG - http://testng.org/

[4] Источник библиотеки iText - http://mirrors.ibiblio.org/pub/mirrors/maven2/com/lowagie/itext/2.1.7/itext-2.1.7.jar [5] Источник JyperionListener - https://groups.google.com/group/testng-users/attach/3bc22fcb3e8cc39c/JyperionListener.java?part=0.1


Ключевые слова


Автоматизированное тестирование, тестирование веб-приложений, Selenium WebDriver, PDF, генерирование отчетов, TestNG, iText, JyperionListener.