Из моего класса тестов. У меня что то даже до параметров достучаться не получаетсяОткуда до него достучаться?
Изменение результатов тестирования
#21
Отправлено 08 декабря 2010 - 09:31
#22
Отправлено 08 декабря 2010 - 11:16
#23
Отправлено 08 декабря 2010 - 12:06
#24
Отправлено 08 декабря 2010 - 19:30
Это я Вам расскажу -- реализуйте листенер IInvokedMethodListener2мне всё таки импонирует вариант заморочиться с контекстом, тока как туда добраться пока что не могу понять
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#25
Отправлено 09 декабря 2010 - 10:22
спасибо, но я уже разобрался, хотя решение аналогичное, тока листенер другой 8)Это я Вам расскажу -- реализуйте листенер IInvokedMethodListener2
мне всё таки импонирует вариант заморочиться с контекстом, тока как туда добраться пока что не могу понять
Чуть позже выложу код, ща занят чутка 8)
#26
Отправлено 09 декабря 2010 - 11:46
<target name="run-tests" depends="compile"> <taskdef classpathref="compile.cp" name="testng" classname="com.beust.testng.TestNGAntTask" /> <testng classpathref="run.cp" outputdir="${test.output}" listener="MyTestListener" reporter="MyEmailableReporter"> <xmlfileset dir="${basedir}" includes="testng.xml" /> </testng> </target>
типа всё работает и мой отчёт отображается.
Запускаю тесты из командной строки так:
java -cp lib\testng-5.14.1.jar;lib\MyTests.jar org.testng.TestNG -reporter MyEmailableReporter -listener MyTestListener testng.xml
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
#27
Отправлено 09 декабря 2010 - 15:46
-usedefaultlisteners falseЗапускаю тесты из командной строки так:
java -cp lib\testng-5.14.1.jar;lib\MyTests.jar org.testng.TestNG -reporter MyEmailableReporter -listener MyTestListener testng.xml
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#28
Отправлено 09 декабря 2010 - 17:21
ок, завтра попробую, тока вот вопрос, у меня то не листенер не работает а репортер, с листенером то всё в порядке. Да и листенеры, что по умолчанию работают, мне как бы нужны я думаю + в эклипсе то всё работает без этой опции.-usedefaultlisteners false
Запускаю тесты из командной строки так:java -cp lib\testng-5.14.1.jar;lib\MyTests.jar org.testng.TestNG -reporter MyEmailableReporter -listener MyTestListener testng.xml
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
Короче всё это как то странно.
буду надеяться что это поможет.
В доках написано что когда запускаешь репортер из командной строки через ключ -reporter надо ещё какие то фильтры указывать, но я подробной информации об этом не нашёл (что за фильтры и с чем их едят).
#29
Отправлено 09 декабря 2010 - 20:57
Репортер -- он тоже листенер.ок, завтра попробую, тока вот вопрос, у меня то не листенер не работает а репортер, с листенером то всё в порядке. Да и листенеры, что по умолчанию работают, мне как бы нужны я думаю + в эклипсе то всё работает без этой опции.
Хотя, сейчас почитал документацию -- может быть я и не прав. Раньше репортер можно было включить только один (именно поэтому дефолтный надо было отключать), а теперь написано, что их может быть сколько угодно. Да, и про фильтры ещё появилась новая фича, тоже раньше не было, надо бы разобраться.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#30
Отправлено 10 декабря 2010 - 08:08
8))))) взял и от балды станцевал с бубном, переместил свой репортер под ключ листенера:
java -cp lib\testng-5.14.1.jar;lib\mytests.jar org.testng.TestNG -listener test.listeners.MyTestListener;test.reporters.MyEmailableReporter testng.xmlи всё заработало и репортер и листенер, я балдею
Ну и выкладываю реализацию листенера как и обещал
MyTestListener:
public class MyTestListener extends TestListenerAdapter { private int testCasesCount = 0; private String currentTestClassName; public void onTestStart(ITestResult result) { testCasesCount++; try { Class cl = result.getTestClass().getRealClass(); // count is reset if test class is changed String className = cl.getName(); if (!className.equals(currentTestClassName)) { currentTestClassName = className; testCasesCount = 1; } result.setAttribute("WorkSheetName", ((AbstractTestClass) cl.newInstance()).getWorkSheetName()); //заносим название вкладки (номер тестовой функции) result.setAttribute("TestCase", String.valueOf(testCasesCount)); //заносим номер тестового случая } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Далее при реализации интерфейса IReporter вызываем в нужном месте метода generateReport(List<XmlSuite> xml, List<ISuite> suites, String outdir) result.getAttribute("Имя переменной")
где result - это результаты по данному тестовому случаю.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных