Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Allure: генерация 1го репорта на несколько сьютов

reporting
parallel
maven
allure
Теги: #<Tag:0x00007f7b6312f0a8> #<Tag:0x00007f7b6312ef68> #<Tag:0x00007f7b6312ee00> #<Tag:0x00007f7b6312ecc0>

(Ok Tober) #1

Большая часть тестов ранится параллельно, но часть по определенным причинам нужно ранить в 1ном потоке.
folder.Test1 - тесты идут в 5 потоков
folder.Test2 - все тесты в 1 поток
Проблема следующая. Аллюр генерит репорт под каждый Test независимо, в результате у меня получается 2 репорта, но мне нужен 1 общий репорт под весь проект.
Как можно настроить аллюр/помник чтоб либо генерился 1 репорта на 2 сьюта, либо был просто 1 сьют в котором часть тестов ранилась параллельно, а часть нет?

Помник выглядит след. образом:

   <suite name="Suite" verbose="1">
                <test name="Testing Parallel" parallel="methods" thread-count="5" preserve-order="true" >
                    <packages>
                       <package name="folder.Test1"/>
                    </packages>
                </test>
                 <test name="Testing" parallel="methods" thread-count="1" preserve-order="true" >
                    <packages>
                         <package name="folder.Test2"/>
                    </packages>
                </test>
            </suite>

(James May) #2

А что Вам мешает вместо package использовать classes?
Либо оставить package, но воспользоваться include/exclude?


(Ok Tober) #3

classes не использую, потому что в каждом пакете по 20-30 классов, а пакетов штук 20. описывать все это в тестнг не хочу + неудобно будет
Я не совсем понял чем поможет использование package include/exclude, если мне нужно настроить часть тестов на 1 поток, а часть на несколько. Тоесть в любом случае мне нужно описать 2 test parallel="methods" thread-count=Х.
Возможно есть вариант настроить аллюр, чтоб он не сплитил репорт по тестам?


(Ok Tober) #4

нет, ну если очень нужно - я вообще могу выпилить тест кейсы из одного частичного репорта и впихнуть в другой, и будет мне общий репорт. но я не костылями хочу, а чтоб по-человечески)


(Maksim Smolyakov) #5

Конечно, я не знаю, насколько серьезные причины Вас заставляют искать подобные решения, но может Вы как раз костыли себе и ищете? :slight_smile: Может главная проблема - неправильная организация тестов, и всё-таки стоит устранить конфликты между ними, чтобы тесты могли успешно выполняться параллельно с остальными?


(Ok Tober) #6

На самом деле вы правы, и я работаю над возможностью выполнять эти тесты параллельно с остальными, но пока это невозможно в связи с тем, что тесты используют одни и те же тестовые данные (они импортируются), а использовать в системе 2 одинаковых пакета таких данных нельзя.
В любом случае мне интересен вопрос того, можно ли настроить Аллюр на генерацию 1го репорта по всем тест сьютам внутри одного тестНГ.


(Funker) #7

Такой вариант не подойдет?
разбить на 2 а в 3-м их включить в один общий, как я использую

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Global Suite for All Suites">
    <suite-files>
        <suite-file path="suite_1.xml"/>
        <suite-file path="suite_2.xml"/>
        <!--<suite-file path="bugs.xml"/>-->
    </suite-files>
</suite>

(Ok Tober) #8

Спасибо, интересно, попробую)
п.с. на самом деле я так проникся словами @msmolyakov , что начал переделывать все под возможность параллелить все тесты, но пока это не сделано - воспользуюсь таким костыльком)