TestNG Пользовательский результат - PullRequest
1 голос
/ 15 марта 2012

Я использую testNG для запуска инфраструктуры автоматизации тестирования. В настоящее время я выполняю большие наборы тестов, а затем, после набора, перебираю результаты в слушателе и добавляю их в базу данных mySQL, которую я использую в качестве панели тестирования.

Это прекрасно работает, но сейчас я хочу сделать снимок экрана, когда я столкнулся с ошибкой в ​​моем @test, и добавить его к результату, чтобы в моем слушателе я мог его обработать.

примерно так было бы неплохо

@test
foo(){
  My Test hits an error I take screenshot = shot1
  ResultMap.add(customError=shot1)
}

затем, когда я обрабатываю все результаты в конце моего набора в слушателе, я могу сказать

Если customeError = true, написать customError в мою БД

В любом случае сделать что-то похожее на это

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Я думаю, я понял это, если я не пропустил что-то, что, кажется, работает и почти легко

ITestResult result = Reporter.getCurrentTestResult();
result.setAttribute("Name", "put my screenshot here");

В моем @test я могу просто сказать, если утверждение не удается

ITestResult result = Reporter.getCurrentTestResult();
result.setAttribute("Name", "put my screenshot here");

У моего тестового слушателя есть if, если теперь искать «Name», и если есть, получить значение и поместить его в мою БД.

Быстрый тест выглядит неплохо, обновите его, если он сработает, когда я все это кодирую для реального

0 голосов
/ 15 марта 2012

В интерфейсе ITestResult доступен метод setAttribute, который позволяет задавать пользовательские атрибуты.
Вероятно, вы можете добавить свои скриншоты ошибок в список во время выполнения вашего дела.В методе afterInvocation вы можете проверить длину массива, если у него есть элементы, а затем задать setAttribute результата метода..something like..setAttribute ("ErrorScreenshots", ErrorScreenshots [])

InВ своем пользовательском отчете вы можете проверить значение атрибута и добавить его в базу данных в качестве, вероятно, путей к месту хранения снимков экрана или в виде больших двоичных объектов, если хотите ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...