Перейти к содержимому

Фотография

Отчёт о функциональном тестировании JMeter в Jenkins

jenkins jmeter

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 19 сентября 2016 - 13:13

Здравствуйте.

Не могу найти ответ: есть тест, который шлёт запросы, анализирует ответы и записывает результат. Jmeter генерит правильный отчёт, какой запрос, какой ответ и ещё какую-то информацию (можно выбирать что сохранять). Проблема в том, что не нашёл как это отображать в Jenkins в виде таблички. Возможно есть плагин какой или ещё чего. Может эти результаты можно сконвертировать во что-то ещё и потом скормить их Дженкинсу как жЮнит репорт?


  • 0

#2 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 20 сентября 2016 - 17:35

Традиционно, jmeter инструмент нагрузочного тестирования, поэтому с экспортом результатов функционального тестирования из него могут возникнуть проблемы.


  • 0

#3 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 21 сентября 2016 - 09:46

Да, я это понял ...

Написал скрипт на питоне, который парсит структуру отчёта и будет формировать жЮнит отчёт, который отлично интегрируется в Дженкинс.


  • 0

#4 andreykou

andreykou

    Новый участник

  • Members
  • Pip
  • 39 сообщений
  • ФИО:Андрей Куриленко

Отправлено 29 сентября 2016 - 10:13

Да, я это понял ...

Написал скрипт на питоне, который парсит структуру отчёта и будет формировать жЮнит отчёт, который отлично интегрируется в Дженкинс.

 

Пользовался unittest? или сам писал?

А то я пытаюсь написать скрипт не как не получается:

 

from selenium import webdriver
from pyvirtualdisplay import Display

display = Display(visible=0, size=(800,800))
display.start()
browser = webdriver.Chrome('/home/andrey/Downloads/chromedriver')
browser.get('http://www.google.com/')

try:
browser.find_element_by_id('gbw')
print ("Test Pass: ID found")
browser.find_element_by_id('lga5')
print ("Test Pass: ID found")

except Exception as e:
print("Exception found",format(e))
# exit(1)
raise Exception('jenkins')


  • 0

#5 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 30 сентября 2016 - 09:45

Эм... У меня не через браузер идёт тестирование. Это тестирование Апи. Есть файл с тем, что нужно послать и что проверить. ЖМетер посылает запросы и анализирует ответы и отображает это всё в Дженкинсе.

У меня были тесты с использованием как unittest, так и py.test. Они генерят хорошие результаты, потом просто нужно их сконвертировать в Жюнит формат и скормить Дженкинсу.


  • 0

#6 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 30 сентября 2016 - 09:53

есть такой плагин для интеграции JMeter с Jenkins

 

https://wiki.jenkins...formance Plugin


  • 0

#7 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 30 сентября 2016 - 13:12

есть такой плагин для интеграции JMeter с Jenkins

 

https://wiki.jenkins...formance Plugin

Спасибо. Но я не нашёл как отображать статус отдельного теста и ответ сервера используя этот плагин для тестирования производительности.


  • 0

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 30 сентября 2016 - 13:52

 

 

производительности

ааа, вижу, тут ситуация с микроскопом и гвоздями


  • 0

#9 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 30 сентября 2016 - 14:11

Почему, я не нашёл инструмента для того, чтобы проверять, что мне пришёл правильный запрос. Писать самому... Не вижу смысла.

Если у вас есть какая-то другая информация, то было бы неплохо ей поделиться.


  • 0

#10 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 30 сентября 2016 - 14:44

Информация у нас есть.

У нас запроса нет.

В смысле неизвестно какую задачу вы решаете.


  • 0

#11 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 30 сентября 2016 - 14:53

У меня есть Апи. Я посылаю запрос на url.com/vasya_pupkin, получаю ответ email:123@123.com. Мне нужно посылать запросы и смотреть, что приходят верные данные. Доступа к коду нет, поэтому юнит тесты отпадают.


  • 0

#12 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 30 сентября 2016 - 14:57

Reg Exp Assertion


  • 0

#13 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 30 сентября 2016 - 15:02

Да, смотрел на него. Не помню почему не выбрал. Он сохраняет результаты в Жюнит формате?


  • 0

#14 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 30 сентября 2016 - 15:06

это по-видимому интеграционное тестирование

 

значит тесты лучше писать на Java используя тест-фреймворк JUnit, ну или TestNG, кому как

 

для удобства проверок API надо добавить фреймворк типа REST-assured или другой какой нравится


  • 0

#15 Lzk

Lzk

    Специалист

  • Members
  • PipPipPipPipPip
  • 504 сообщений
  • ФИО:Олег
  • Город:Мск

Отправлено 30 сентября 2016 - 15:08

нет, но ты можешь опять же reg exp'om CI ( не знаю как в Jenkins'e, но в TeamCity такое есть(Result assertions)) парсить лог билда и если % ошибок > 0 , то фейлить билд.

При желании можно слушать результаты assert'ов и слать фейленный response на почту ну или просто сохранять в файл.


  • 0

#16 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 30 сентября 2016 - 15:24

Эм... У меня не через браузер идёт тестирование. Это тестирование Апи. Есть файл с тем, что нужно послать и что проверить. ЖМетер посылает запросы и анализирует ответы и отображает это всё в Дженкинсе.

У меня были тесты с использованием как unittest, так и py.test. Они генерят хорошие результаты, потом просто нужно их сконвертировать в Жюнит формат и скормить Дженкинсу.

А, пропустил.

TestNG. Один тест + DataProvider


  • 1

#17 appmen

appmen

    Опытный участник

  • Members
  • PipPipPipPip
  • 408 сообщений
  • ФИО:Victor

Отправлено 03 октября 2016 - 11:51

Ну, у меня уже давно всё работает. Я использовал Response Assertion в Jmeter. Он формирует хмл файл, но не той структуры. Я просто вытягиваю из него данные и формирую Жюнит отчёт, который замечательно читается Tests Result Analyzer. Считаю, что нет смысла писать свой код, если уже есть готовый инструмент. Были Апи тесты написанные на Питоне и JMeter полностюь устраивает.

Little_CJIOH, да, думал так сделать, посчитал, что так быстрее и лучше в плане поддержки.


  • 0



Темы с аналогичным тегами jenkins, jmeter

Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных