Запуск теста Selenide в связке с Blazemeter Taurus

taurus
selenide
Теги: #<Tag:0x00007fedc0a5f360> #<Tag:0x00007fedc0a5ef00>

(Павел Зырянов) #1

Проблема заключается в следующем.
Как успешно запустить тест написанный на Selenide в связке с Blazemeter (Taurus).

У меня написано несколько тестов на Selenide. Если каждый тест запускать отдельно или через Junit, то они успешно выполняются.
Для запуска тестов на Blazemeter используется Taurus. Yaml файл для запуска теста выглядит следующим образом:

execution:
- executor: junit
  iterations: 2  # loop over test suite for 5 times
  scenario: complex

scenarios:
  complex:
    script: C:/Users/Pavel/Documents/MavenProjects/my-app
    additional-classpath:  # optional, following libs will be added to java classpath
    -  ~/.bzt/jmeter-taurus/tools/jcl-over-slf4j-1.7.25.jar
    -  ~/.bzt/jmeter-taurus/tools/webdrivermanager-2.2.1.jar
    -  ~/.bzt/jmeter-taurus/tools/selenide-4.12.0.jar
modules:
  junit:
    path: ~/.bzt/jmeter-taurus/tools/junit/junit-4.12.jar  # path to JUnit framework
    hamcrest-core: ~/.bzt/jmeter-taurus/tools/junit/hamcrest-core-1.3.jar  # path to Hamcrest lib
reporting:
- blazemeter

Запускаю тест командой bzt test_junit.yaml логи выдаются следующие:

C:\Users\Pavel\Documents\MavenProjects>bzt test_junit.yaml
13:20:57 INFO: Taurus CLI Tool v1.11.1
13:20:57 INFO: Starting with configs: ['test_junit.yaml']
13:20:57 INFO: Configuring...
13:20:57 INFO: Artifacts dir: C:\Users\Pavel\Documents\MavenProjects\2018-06-04_13-20-57.418615
13:20:57 INFO: Preparing...
13:20:57 INFO: Installing Python Tcl library environment variable...
13:20:59 INFO: Compiling .java files completed
13:21:00 INFO: Making .jar file completed
13:21:00 WARNING: No BlazeMeter API key provided, will upload anonymously
13:21:02 INFO: Starting...
13:21:02 INFO: Waiting for results...
13:21:02 INFO: Initiating data feeding...
13:21:02 INFO: Started data feeding: https://a.blazemeter.com/app/?public-token=8PvsQAc687kqrKccCe9s9fjfCptkEPcRdCTJSmayexi1oEmwL8#reports/r-ext-5b14da4d2736f/summary
13:21:03 INFO: Did not mute console logging
13:21:03 INFO: Waiting for finish...
13:21:05 WARNING: Please wait for graceful shutdown...
13:21:05 INFO: Shutting down...
13:21:05 INFO: Post-processing...
13:21:05 INFO: Test duration: 0:00:03
13:21:05 INFO: Samples count: 4, 100.00% failures
13:21:05 INFO: Average times: total 0.037, latency 0.000, connect 0.000
13:21:05 INFO: Percentile 0.0%: 0.004
13:21:05 INFO: Percentile 50.0%: 0.009
13:21:05 INFO: Percentile 90.0%: 0.108
13:21:05 INFO: Percentile 95.0%: 0.108
13:21:05 INFO: Percentile 99.0%: 0.108
13:21:05 INFO: Percentile 99.9%: 0.108
13:21:05 INFO: Percentile 100.0%: 0.108
13:21:05 INFO: Sending remaining KPI data to server...
13:21:06 INFO: Ending data feeding...
13:21:06 INFO: Online report link: https://a.blazemeter.com/app/?public-token=8PvsQAc687kqrKccCe9s9fjfCptkEPcRdCTJSmayexi1oEmwL8#reports/r-ext-5b14da4d2736f/summary
13:21:06 INFO: Artifacts dir: C:\Users\Pavel\Documents\MavenProjects\2018-06-04_13-20-57.418615
13:21:06 INFO: Done performing with code: 0

Через bzt.log сформированному по адресу C:\Users\Pavel\Documents\MavenProjects\2018-06-04_13-20-57.418615 не совсем понятно в чём причина, но если перейти по адресу репорта и перейти на вкладку errors, то видно две следующие проблемы:

Code	Description	                                                                                          Count
500	    java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory	                                                1
500	    java.lang.NoClassDefFoundError: Could not initialize class io.github.bonigarcia.wdm.WebDriverManager	3

Видно проблема в том, что две этих библиотеки почему-то не подключились. Хотя Я указывал их в additional-classpath.
Либо Я их неправильно подключаю.
Либо в Taurus не предусмотрена работа тестов на Selenide, так как в документации ссылок на такой запуск нет.

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

Спасибо за внимание, надеюсь на Вашу помощь!

Версии ОС и софта следующие …

Windows 10
Taurus CLI Tool v1.11.1
java version "1.8.0_171"
Apache Maven 3.2.2
selenide-4.12.0

(asolntsev) #2

Такого не может быть. Конечно же, проблема в том, что нужные зависимости не добавлены в classpath. Но тут уже я ничем помочь не могу, это вопрос не к селениду, а к Taurus. Разбирайтесь с ним.

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


(Павел Зырянов) #3

Спасибо за совет, попробую с ними связаться тогда.
Вообще да, создаёт много проблем. Но задача была поставленная следующая, сделать нагрузочное функциональное тестирование. Простое обращение к бэку через запросы в некоторых кейсах не подходят, так как система включает в себя много разношёрстных компонентов и нужно увидеть как это будет работать для пользователя.


(asolntsev) #4

Ох уж эти хотелки :slight_smile:

Это же хорошо известно, что функциональное и нагрузочное тестирование надо делать по отдельности. У них разных задачи и разные инструменты. Мешать всё в кучу - плохая идея. Не получится ни функционального, ни нагрузочного.


(Павел Зырянов) #5

Написал разработчикам, ответ был следующий:

Please try changing your executor to selenium instead of junit and add a runner setting and set it with junit and let us know if this works for you. This should fix the issue you are currently running into.

Попробовал заменить executor на selenium, не помогло. Что за параметр runner и где его прописать, так и не понял. Пробовал добавлять в блок execution и часть конфига выглядела так

execution:
- executor: selenium
  iterations: 2  # loop over test suite for 5 times
  scenario: complex
  runner: junit

Но это тоже не работает.

По итогу решили последовать совету пользователя @asolntsev и не перемешивать функциональные и нагрузочные тесты.