- Форум тестировщиков
- → Публикации filipok
Публикации filipok
40 публикаций создано filipok (учитываются публикации только с 26 апреля 2023)
По типу контента
По пользователю
#88202 тестирование загрузки файла
Отправлено автор: filipok 12 мая 2011 - 09:07 в JMeter - Тестирование производительности
Здравствуйте,
необходимо проверить производительность WEB приложения где происходит генерация файла и его скачивание пользователем в результате кликания пользователем по ссылке.
Создаю сценарий через прокси, Jmeter реагирует на нажатие ссылки но уже не реагирует на нажатие кнопок в окне подтверждения скачивания (выбор действия и тд и тп)
как оттестировать загрузку файла в таком случае или по суте это уже включено в сценарий, ведь ответ с сгенерированным файлом уже пришёл .....
необходимо проверить производительность WEB приложения где происходит генерация файла и его скачивание пользователем в результате кликания пользователем по ссылке.
Создаю сценарий через прокси, Jmeter реагирует на нажатие ссылки но уже не реагирует на нажатие кнопок в окне подтверждения скачивания (выбор действия и тд и тп)
как оттестировать загрузку файла в таком случае или по суте это уже включено в сценарий, ведь ответ с сгенерированным файлом уже пришёл .....
#86177 Не выполняется assert
Отправлено автор: filipok 28 марта 2011 - 13:26 в Selenium - Functional Testing
может кому поможет (хотя возможно это я такой балбес в единственном экземпляре ):
при выполнении в командной строке надо Java передать ещё и ключик -ea что бы он обрабатывал assert. Раньше со старой версией Java это делать было не обязательно. Сейчас поставил 6-ю, и она этого требует.
при выполнении в командной строке надо Java передать ещё и ключик -ea что бы он обрабатывал assert. Раньше со старой версией Java это делать было не обязательно. Сейчас поставил 6-ю, и она этого требует.
#86170 Не выполняется assert
Отправлено автор: filipok 28 марта 2011 - 11:47 в Selenium - Functional Testing
может сие быть из-за смены версии java?
хотя в принципе я пробовал и на старой и на новой, не хочет из командной строки обрабатываться assert
хотя в принципе я пробовал и на старой и на новой, не хочет из командной строки обрабатываться assert
#86164 Не выполняется assert
Отправлено автор: filipok 28 марта 2011 - 11:07 в Selenium - Functional Testing
ну как бы я не совсем понимаю о чём речь, но ведь под Эклипсом всё пашет, а если сделать дистрибутивчик и запустить его из коммандной строки то птица обломинга просто не хочет улетать.
#86160 Не выполняется assert
Отправлено автор: filipok 28 марта 2011 - 10:25 в Selenium - Functional Testing
Здравствуйте други.
Выполняю тесты Selenium + testNG + Java
Если запускать их через Eclipse и Ant Task то всё работает замечательно, но как только я выполняю их же через командную строку то все тесты проходять положительно, даже если явно указать в классах "assert false;"
Голову поломал себе уже, но понять почему так происходит не могу.
Выполняю тесты Selenium + testNG + Java
Если запускать их через Eclipse и Ant Task то всё работает замечательно, но как только я выполняю их же через командную строку то все тесты проходять положительно, даже если явно указать в классах "assert false;"
Голову поломал себе уже, но понять почему так происходит не могу.
#82307 Порядок выполнения
Отправлено автор: filipok 21 декабря 2010 - 11:58 в Автоматизированное тестирование
не понятно тогда правда на кой нужна опция preserve-order="true"Сдается мне, что порядок алфавитный для параметра name.
Конечно<!DOCTYPE suite (View Source for full doctype...)> - <suite name="application" verbose="1" junit="false" parallel="false" configfailurepolicy="skip" thread-count="5" skipfailedinvocationcounts="false" data-provider-thread-count="10"> - <test name="V2_F26-Login_Logout" junit="false" skipfailedinvocationcounts="false" preserve-order="true"> - <classes> - <!-- TS1 --> <class name="test.v2.f26.VerifyLoginLogoutEnterUsernamePasswordPossibility" /> - <!-- TS2 --> <class name="test.v2.f26.VerifyLoginLogoutCaseSensitivityUsernamePasswordField" /> - <!-- TS3 --> <class name="test.v2.f26.VerifyLoginLogoutLabelsLoginPageAvailibility" /> - <!-- TS4 --> <class name="test.v2.f26.VerifyLoginLogoutLinksLoginPageAvailibility" /> </classes> </test> </suite>
при любом раскладе первым выполняется TS2 а потом уже TS1 и далее по порядку. Тоесть выполняет он их по алфавиту а на последовательность классов в файле не обращает внимания
#81990 Порядок выполнения
Отправлено автор: filipok 16 декабря 2010 - 06:36 в Автоматизированное тестирование
Конечно
при любом раскладе первым выполняется TS2 а потом уже TS1 и далее по порядку. Тоесть выполняет он их по алфавиту а на последовательность классов в файле не обращает внимания
<!DOCTYPE suite (View Source for full doctype...)> - <suite name="application" verbose="1" junit="false" parallel="false" configfailurepolicy="skip" thread-count="5" skipfailedinvocationcounts="false" data-provider-thread-count="10"> - <test name="V2_F26-Login_Logout" junit="false" skipfailedinvocationcounts="false" preserve-order="true"> - <classes> - <!-- TS1 --> <class name="test.v2.f26.VerifyLoginLogoutEnterUsernamePasswordPossibility" /> - <!-- TS2 --> <class name="test.v2.f26.VerifyLoginLogoutCaseSensitivityUsernamePasswordField" /> - <!-- TS3 --> <class name="test.v2.f26.VerifyLoginLogoutLabelsLoginPageAvailibility" /> - <!-- TS4 --> <class name="test.v2.f26.VerifyLoginLogoutLinksLoginPageAvailibility" /> </classes> </test> </suite>
при любом раскладе первым выполняется TS2 а потом уже TS1 и далее по порядку. Тоесть выполняет он их по алфавиту а на последовательность классов в файле не обращает внимания
#81886 Порядок выполнения
Отправлено автор: filipok 15 декабря 2010 - 07:11 в Автоматизированное тестирование
тему потерял 8( тока нашёл 8)
Метод у меня во всех классах только один, так что мне зависимость выполнения методов не нужна.
Мне бы хотелось что бы классы выполнялись в том порядке в котором они перечислены в testNG. У каждого класса только один метод verify(String... args)
Групп у меня нет совсем (они мне не нужны).
Параметр preserve-order не влияет вообще никак.
Или я просто что то не понимаю в этой жизни?
Метод у меня во всех классах только один, так что мне зависимость выполнения методов не нужна.
Мне бы хотелось что бы классы выполнялись в том порядке в котором они перечислены в testNG. У каждого класса только один метод verify(String... args)
Групп у меня нет совсем (они мне не нужны).
Параметр preserve-order не влияет вообще никак.
Или я просто что то не понимаю в этой жизни?
#81792 Порядок выполнения
Отправлено автор: filipok 14 декабря 2010 - 08:05 в Автоматизированное тестирование
Здравствуйте люди.
Есть вопрос по порядку выполнения классов и тестовых случаев.
Использую TestNG + Selenium + Java + Eclipce.
Проблема в том что я бы хотел что бы тестовые классы и данные которые я подгружаю из xsl документа через провайдера данных выполнялись в том порядке в котором я их указал. То-есть классы запускаются по порядку из testng.xml (в том порядке в котором они там напечатаны) и данные подставляются в соответствии с порядком в котором они расположены в файле с данными.
опция у тега "<test>" preserve-order="true" не даёт результатов, как запускалось всё хаотично так и запускается.
Может кто то заморачивался по этому поводу, подкиньте решение.
Есть вопрос по порядку выполнения классов и тестовых случаев.
Использую TestNG + Selenium + Java + Eclipce.
Проблема в том что я бы хотел что бы тестовые классы и данные которые я подгружаю из xsl документа через провайдера данных выполнялись в том порядке в котором я их указал. То-есть классы запускаются по порядку из testng.xml (в том порядке в котором они там напечатаны) и данные подставляются в соответствии с порядком в котором они расположены в файле с данными.
опция у тега "<test>" preserve-order="true" не даёт результатов, как запускалось всё хаотично так и запускается.
Может кто то заморачивался по этому поводу, подкиньте решение.
#81645 Изменение результатов тестирования
Отправлено автор: filipok 10 декабря 2010 - 08:08 в Selenium - Functional Testing
Попробовал, не помогло, репортер напрочь не хочет вызываться.
8))))) взял и от балды станцевал с бубном, переместил свой репортер под ключ листенера:
Ну и выкладываю реализацию листенера как и обещал
MyTestListener:
Далее при реализации интерфейса IReporter вызываем в нужном месте метода generateReport(List<XmlSuite> xml, List<ISuite> suites, String outdir) result.getAttribute("Имя переменной")
где result - это результаты по данному тестовому случаю.
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 - это результаты по данному тестовому случаю.
#81611 Изменение результатов тестирования
Отправлено автор: filipok 09 декабря 2010 - 17:21 в Selenium - Functional Testing
ок, завтра попробую, тока вот вопрос, у меня то не листенер не работает а репортер, с листенером то всё в порядке. Да и листенеры, что по умолчанию работают, мне как бы нужны я думаю + в эклипсе то всё работает без этой опции.-usedefaultlisteners false
Запускаю тесты из командной строки так:java -cp lib\testng-5.14.1.jar;lib\MyTests.jar org.testng.TestNG -reporter MyEmailableReporter -listener MyTestListener testng.xml
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
Короче всё это как то странно.
буду надеяться что это поможет.
В доках написано что когда запускаешь репортер из командной строки через ключ -reporter надо ещё какие то фильтры указывать, но я подробной информации об этом не нашёл (что за фильтры и с чем их едят).
#81586 Изменение результатов тестирования
Отправлено автор: filipok 09 декабря 2010 - 11:46 в Selenium - Functional Testing
Народ как вызвать мой репортер через командную строку. Запускаю тесты через эклипс+ант так:
типа всё работает и мой отчёт отображается.
Запускаю тесты из командной строки так:
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
<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
листенер отрабатывает а вот репортер отчёт не создаёт, что за подстава? что я упустил?
#81581 Изменение результатов тестирования
Отправлено автор: filipok 09 декабря 2010 - 10:22 в Selenium - Functional Testing
спасибо, но я уже разобрался, хотя решение аналогичное, тока листенер другой 8)Это я Вам расскажу -- реализуйте листенер IInvokedMethodListener2
мне всё таки импонирует вариант заморочиться с контекстом, тока как туда добраться пока что не могу понять
Чуть позже выложу код, ща занят чутка 8)
#81497 Изменение результатов тестирования
Отправлено автор: filipok 08 декабря 2010 - 12:06 в Selenium - Functional Testing
я бы тоже хотел посмотреть на решение 8))))
#81476 Изменение результатов тестирования
Отправлено автор: filipok 08 декабря 2010 - 09:31 в Selenium - Functional Testing
Из моего класса тестов. У меня что то даже до параметров достучаться не получаетсяОткуда до него достучаться?
#81469 Изменение результатов тестирования
Отправлено автор: filipok 08 декабря 2010 - 08:44 в Selenium - Functional Testing
ЗЫ: Можно еще в IAttributes поковыряться.
ды вот к нему и склоняюся, но если честно ума не дам как всё это провернуть. Вроде как всё там есть что надо, можно завести нужную переменную, но как достучаться не знаю 8(
#81462 Изменение результатов тестирования
Отправлено автор: filipok 08 декабря 2010 - 07:51 в Selenium - Functional Testing
да понятное дело, спасибо, но если честно такой подход мне напоминает какой то костыль, мне всё таки импонирует вариант заморочиться с контекстом, тока как туда добраться пока что не могу понятьНу я как бы просто предлагаю брать IReporter, например, и править правила генерации отчетов так, чтобы сообщения из логов правильно маркированные не попадали в лог, а складывались куда нам нужно в отчете.
Листенеры они скорее для отображения прогресса в реальном времени.
#81449 Изменение результатов тестирования
Отправлено автор: filipok 08 декабря 2010 - 06:27 в Selenium - Functional Testing
нет, это откровенно не то что мне надо, мне надо данные в контекст пихать, и в логе их не отображать, лог совершенно для другого предназначен.Ну можно записать данные с HTML разметкой, например, а потом CSS'ками сделать красиво. Или парсить. Тут в общем-то мысль простая - на входе пихаем нужные данные в отчет под видом логов, а на выходе делаем с этими данными красиво. Лог-то с репортера в отчет и так и так попадет.
#81434 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 21:11 в Selenium - Functional Testing
если честно то не совсем уловил мысль вашу, за ссылку спасибо, поковыряюсь.Так класс репортер и используется для того чтобы запихивать левые сообщения в отчет от TestNG.
Вот в этом отчете поковыряйтесь, там есть примеры таких выводов в отчет сгенеренный TestNG: http://reportng.unco...mple/index.html
То есть в общем-то мысль тут уже озвучена вами была - переписать маму всех тестов так чтобы она получала нужные данные и складывала в лог. То есть вы же написали что тестовый класс информацией о вкладке обладает. Дальше вопрос насколько в вашем случае возможно дергать нужные нам методы в конструкторе.
Просто на сколько я понял репортер только генерирует отчёт, нужно только переписать нужную нам реализацию интерфейса IReporter. Но он берёт данные из контекста, опять же как я понял, но что бы их оттудова взять их туда надо положить во время выполнения тестовых сценариев. Вот этот момент меня и интересует. Складыванием данных вроде занимается ITestListenerAdapter, но я в этом не уверен, да и как правильно сделать не знаю, так что бы по фентшую (тяготы выбора правильного решения изложил в посте 11)
Кажется понял про какой репортер речь. Но он же вроде просто для логгирования а мне надо отчёт формировать на основе моих данных - отчёт который отображается в файле "emailable-report.html". А логгирование это отдельная тема, оно у меня тоже используется для вывода дополнительной информации к отчёту - чаще нужно для отладки тестов. Я же не могу записать в отчёт какие то определённые данные в переменную с определённым именем при помощи него. Или я вас всё-таки не правильно понял?
#81407 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 17:03 в Selenium - Functional Testing
спасибо за ответ, но я написал что репортер я буду пользовать репортер для формирования отчёта, но для того что бы в отчёт добавить нестандартные данные их надо в отчёт положить, думаю что в контекст. Основной вопрос в том как положить данные в контекст если они не передаются с основными тестовыми данными.Прекрасный класс Reporter (TestNG) никак не подходит?
Про листенер я уже писал, пока что разбираюсь с ним, но может у кого то есть более простой и очевидный вариант или уже готовое решение через листенер, просто я пока что не знаю к чему там обратиться и куда листенер пихать, или сделать его реализацию в моём базовом тестовом классе или описать отдельно мой листенер - правда как тогда получить доступ к методу который возвращает нужные данные в тестовых классах из этого моего отдельного класса листенера. А может сделать анонимный внутренний класс - реализацию интерфейса листенера. Короче решение в процессе.
Если есть кому что добавить буду рад помощи.
#81400 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 16:16 в Selenium - Functional Testing
8))) это конечно хорошо но не подходит, тестовых классов много, файлов с тестовыми данными ещё больше, перелопачивать такую кучу информации как то не с руки, проще переписать чуть чуть родительский класс всех тестовых классов или реализацию листенера вызывая в нужном месте метод возвращающий номер вкладки (или имя, но это не важно). Я думаю такой подход будет лучше. Вот только где это самое место которое мне необходимо.Отлично! Именно это я и хотел услышать. Добавьте в сигнатуру тестовых методов ещё пару служебных параметров -- название вкладки и номер строки, и передавайте их вместе со всеми остальными данными из провайдера, так они тоже станут "тестовыми данными".
как попадает информация из Excel-файла не важно, там свой механизм (написан Итератор и через Дата провайдер они пихаются в тестовый метод).
Информацией о вкладке обладает тестовый класс - есть соответствующее приватное поле (ну и метод который значение данного поля возвращает). А для тестовых случаев можно завести ещё одно приватное поле и использовать его как счётчик вызовов тестового метода. И при каждом вызове метода пихать его в отчёт. А вот как запихать в отчёт всю эту информацию.
Тестовые данные и имя метода и класса туда попадают сами собой (ну как бы по умолчанию если всё правильно описать).
#81392 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 15:15 в Selenium - Functional Testing
как попадает информация из Excel-файла не важно, там свой механизм (написан Итератор и через Дата провайдер они пихаются в тестовый метод).Вот это ключевой момент -- как именно эта информация представлена?
Каждый тестовый класс обладает информацией к какой вкладке обратиться.
Кто обладает информацией, которую Вы хотите добавить к результатам (названия вкладок, номера строк)?
Хочется понять механизм того, как данные из Excel-файла попадают в тесты.
Информацией о вкладке обладает тестовый класс - есть соответствующее приватное поле (ну и метод который значение данного поля возвращает). А для тестовых случаев можно завести ещё одно приватное поле и использовать его как счётчик вызовов тестового метода. И при каждом вызове метода пихать его в отчёт. А вот как запихать в отчёт всю эту информацию.
Тестовые данные и имя метода и класса туда попадают сами собой (ну как бы по умолчанию если всё правильно описать).
#81384 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 14:41 в Selenium - Functional Testing
Ух как быстро наотвечали, я надеялся максимум к завтрашнему.
Ок
Дополняю свой вопрос.
Имеем тестовые классы с тестовым методом. Тестовые данные хранятся в XLS документе в виде таблиц с данными. Для каждого тестового сценария там выделена отдельная вкладка.
Каждый тестовый класс обладает информацией к какой вкладке обратиться.
Необходимо информацию об этой вкладке отобразить в отчёте. В нашем случае это "emailable-report.html".
Нужно это для удобства, что бы оператор при использовании тестов в случае ошибки сразу наглядно видел к какой вкладке стоит обратиться. Ещё необходимо напротив каждой строки с данными в отчёте отображать номер этой строки из файла с тестовыми данными - грубо говоря номер тестового случая.
Пока что понял что для модернизации отчёта надо переопределить метод
Но вот как добавить эти данные в отчёт я не знаю. Пока что ковыряюсь с "TestListenerAdapter" но как то мне не очень нравиться этот способ (чем дальше в лес тем больше дров)
Ок
Дополняю свой вопрос.
Имеем тестовые классы с тестовым методом. Тестовые данные хранятся в XLS документе в виде таблиц с данными. Для каждого тестового сценария там выделена отдельная вкладка.
Каждый тестовый класс обладает информацией к какой вкладке обратиться.
Необходимо информацию об этой вкладке отобразить в отчёте. В нашем случае это "emailable-report.html".
Нужно это для удобства, что бы оператор при использовании тестов в случае ошибки сразу наглядно видел к какой вкладке стоит обратиться. Ещё необходимо напротив каждой строки с данными в отчёте отображать номер этой строки из файла с тестовыми данными - грубо говоря номер тестового случая.
Пока что понял что для модернизации отчёта надо переопределить метод
private void resultDetail(IResultMap tests, final String style)в классе "EmailableReporter"
Но вот как добавить эти данные в отчёт я не знаю. Пока что ковыряюсь с "TestListenerAdapter" но как то мне не очень нравиться этот способ (чем дальше в лес тем больше дров)
#81370 Изменение результатов тестирования
Отправлено автор: filipok 07 декабря 2010 - 13:16 в Selenium - Functional Testing
Здравствуйте люди.
Имеется желание поменять результаты тестирования, а точнее добавить к результатам некоторую дополнительную информацию из тестирующего метода.
Далее выводить данную информацию в отчёте.
Как это можно сделать?
Пользуюсь Selenium + testNG + Java
Как вывести данную информацию в HTML отчёт я вроде как разобрался (по крайней мере я так думаю) но как добавить нужную информацию к результатам пока что не знаю (но я в процессе)
Имеется желание поменять результаты тестирования, а точнее добавить к результатам некоторую дополнительную информацию из тестирующего метода.
Далее выводить данную информацию в отчёте.
Как это можно сделать?
Пользуюсь Selenium + testNG + Java
Как вывести данную информацию в HTML отчёт я вроде как разобрался (по крайней мере я так думаю) но как добавить нужную информацию к результатам пока что не знаю (но я в процессе)
#80362 Тестирование перехода по окнам
Отправлено автор: filipok 18 ноября 2010 - 12:47 в Selenium - Functional Testing
Я бы посоветовал вам заменить waitForPageToLoad на waitForPopUp
Прочитал ваш ответ в следующей теме. У вас в waitForPageToLoad используется waitForPopUp, как я понимаю?
нет, именно waitForPageToLoad(). Дело в том что я не знаю будет открываться новое окно или всётаки в текущем откроется ссылка, это как мне кажеться более универсально. К тому же всё работает и достаточно хорошо 8)
- Форум тестировщиков
- → Публикации filipok
- Политика Конфиденциальности
- Правила форума ·