t.me/atinfo_chat Telegram группа по автоматизации тестирования

Codeception/robo-paracept создание и мерж html репортов

Теги: #<Tag:0x00007f9afa0890c0>

Здравствуйте. Т.к. тестов скопилось очень много, решил расспаралелить их с помощю Codeception/robo-paracept

Пользуюсь согласно документации http://codeception.com/docs/12-ParallelExecution

В public function parallelRun()
{
$parallel = $this->taskParallelExec();
for ($i = 1; $i <= 5; $i++) {
$parallel->process(
$this->taskCodecept() // use built-in Codecept task
->suite(‘acceptance’) // run acceptance tests
->group(“p$i”) // for all p* groups
->env(“p$i”) // in its own environment
// ->xml(“tests/log/result$i.xml”) // save XML results
->html(“tests/log/result$i.html”)
);
}
return $parallel->run();

}

ДОбавил сохранение html репортов.
Но в мерже есть только класс https://github.com/Codeception/robo-paracept/blob/master/src/MergeReports.php для объединения xml репортов. Есть ли у кого-то готовое решение для объединения html репортов?

Походу пока нет возможности склеивать html отчетов. Придется сочинять свой велосипед склеивальщик.

Ок, а кто подскажет, как правильно тогда в jenkins интегрировать проект?? вот какой лог ошибок у меня приходит
http://joxi.ru/52aJwzwfV6GQA0

А в ручную как запускается, нормально?

В ручную - да. Мержит xml результаты. А вот в женьке не хочет.

Вот лог и настройки
http://joxi.ru/DrlEdoduWM0qmP

ВОт в гите папка есть http://joxi.ru/l2Z3wRwHb6EoAJ но почему-то не пускает напрямую в нее через гитлаб.
И вот сам лог http://joxi.ru/nAyeyxyhxOwyAZ

А в ручную где находишься и как запускаешь?

в ручную нахожусь в корневой папке проекта и оттуда запускаю

А корневая пака это где?

http://joxi.ru/E2pMa1aUndVlAY вот тут

:sweat_smile:
Где, это:
С:\test\my_tes\some\more - Windows
/var/temp/test - *nix

Женкис у меня на винде установлен…Или я не понимаю вопрос ((((

Я не спрашивал где у тебя женкинс установлен, я спросил где (путь) ты в ручную запускаешь тест и он нормально отрабатывает, т.е. полную строку ручного запуска с путем нахождения.

http://joxi.ru/Vrwpk8kSlB5bmX вот тут

Ха увидел, ты в женкинсе при сборке какую команду вызываешь?
Выполнить команду shell
А женкинс то у тебя под Windows стоит!!! То вызвать нужно:
Выполнить команду Windows

Ну если я запускаю так http://joxi.ru/GrqVRXRue1wBmz, то все норм происходит… И тоже из шелла http://joxi.ru/p27gJ9JflQ9d27
Правда не включается естественно распараллеливание тестов. (

Хм. Почему-то в папке /vendor/codeception/robo-paracept нет ни одного файла. Поэтому и не видит.
Попробовал снова добавить - не добавляется. Попробовал написать + php composer.phar require codeception/robo-paracept:@dev - тоже не добавились. Щас вручную попробую пронести

Пронес вручную файлы в workspace/vendor/codeception/robo-paracept

Запустил shell
php robo.phar
Выдало в женьке список команд.
Но как пишу команду какую-то к примеру
php robo.phar parallel:run - то не выполняется(

  • php composer.phar install
    Warning: This development build of composer is over 60 days old. It is recommended to update it by running “composer.phar self-update” to get the latest version.
    Loading composer repositories with package information
    Installing dependencies (including require-dev) from lock file
    Nothing to install or update
    Generating autoload files
  • php robo.phar parallel:run
    Build step ‘Выполнить команду shell’ marked build as failure
    Recording test results
    Finished: FAILURE

Забыл селениум включить. Щас норм запустились. )))

Но все равно хотелось бы с html что -нить решить(

Тоже хотел распараллелить accpetance тесты, начал делать по документации.
В итоге на шаге 1, после robo parallel:split-tests который создал файлы в tests/_log c p1 по p5 и добавления в в конце файла codeception.yml в корень
groups: p*: tests/_log/p*
Команда $ php codecept.phar run functional -g p2 выдала что нет тестов с такой группой. В чем может быть проблема? Файлы теста в формате Cest в виде классов. У тестируемых методов так же присутствуюn свои алиасы групп @group blabla

$ php codecept.phar run acceptance -g p2 нужно поставить) и в коде нужно поставить папку чтобы сомтрел на tests/acceptance

да да, там стоит acceptance. Сюда просто с доки скопипастил. Как то странно. А codeception.yml можете свой показать?