2015-04-10 2 views
0

Я пытаюсь внедрить TestNG для целей отчетности в моей инфраструктуре с ключевыми словами (Java). Мне нужно опубликовать время выполнения каждого тестового примера (и шага), состояние прохода/отказа каждого тестового примера (и шага) в моих отчетах. TestNG делает это автоматически, если для каждого тестового примера есть отдельные методы. Проблема, с которой я столкнулся, заключается в том, что я запускаю цикл для каждого тестового примера, в этом цикле метод вызывается для выполнения этого конкретного тестового примера. Теперь в методе вызываемого тестового случая снова вызывается метод для каждого тестового шага. Как я могу создать свою фреймворк, чтобы TestNG рассматривал каждый тестовый пример/шаг как новый метод и предоставлял время выполнения и состояние прохода/отказа каждого тестового примера/шага. Я также открыт для любых других предложений, с помощью которых я могу реализовать модуль отчетности в своей фреймворке с ключевыми словамиКак реализовать отчет TestNg в фреймворке с ключевыми словами

ответ

0

Да, его можно сделать с некоторым усилием. Вы можете создать настраиваемого репортера TestNG, similar to how I did it in this project, и тем самым вы можете добавить новый столбец в тестовый отчет, как только я добавил столбец «test name», а затем вы можете собрать нужные вам данные и поместить их в этот ячейки в тестовой строке.

Чтобы хранить тайминги, вызов метода, я бы использовал секундомер из Apache commons-lang3.

+0

Я использовал секундомер Apache для выполнения, но я все еще не могу реализовать отчетную часть. Я не понимаю, как вы достигли этого в своем проекте. Не могли бы вы немного объяснить свой подход, чтобы я мог четко представлять, что делает код? Это будет действительно большая помощь. – Aniteysh

+0

Мне пришлось реализовать CustomReport.class (https://github.com/djangofan/testng-custom-report-example/blob/master/src/main/java/qa/test/CustomReport.java), который является копией исходного org.testng.reporters.EmailableReporter2.class, но измененный мной, чтобы иметь различный внешний вид и разную структуру. Сделайте разницу на 2 вышеупомянутых классах, и это может сделать все более ясным. – djangofan

Смежные вопросы