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

Падает билд при запуске тестов через maven

webdriver
java
Теги: #<Tag:0x00007f7b62382568> #<Tag:0x00007f7b62382338>

(Happy Smile) #1

Здравствуйте!
У меня есть 2 класса с тестами (1 тест в каждом классе). Когда запускаю каждый по отдельности- все работает.
Когда запускаю через maven (clean, test) - билд падает
[INFO] BUILD FAILURE
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project Test: There are test failures.
Может проблема в BaseConfig?
@AfterTest public void tearDown(){ driver.quit(); }
Мне нужно чтобы тесты запускались последовательно: сначала проходил один, потом второй.
Спасибо!


(sidelnikovmike) #2

Ну тут проблем может быть целая куча.
Нужно больше деталей - есть ошибки от падений? обычно всё таки кроме there are test failures можно что-то еще узнать.


(Руслан) #3

Название класса без “Test”?


(Руслан) #4

а как же аддитивность тестов?


(Happy Smile) #5

Вот полный стектрейс

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24.399s
[INFO] Finished at: Mon Sep 14 15:23:45 EEST 2015
[INFO] Final Memory: 28M/207M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-test) on project Test: There are test failures.
[ERROR] 
[ERROR] Please refer to E:\...\Test\target\surefire-reports for the individual test results.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

(YobiByte) #6

Примерно так, только предлагаю названия методов без @Test. Пример - ниже.

Если от этого зависят данные (первый делает что-то, без чего второму просто не с чем работать), то всё просто - сделай один класс, функционал двух ранее имевшихся классов запихни в методы класса без аннотации @Test и потом запихни в один метод, но уже аннтоацию @Test не забудь!
:wink:

Пример содержимого нового класса:

<methodOutputType(s)> doFirstStuff()  {
//aLotOfThingsOfTheFirstMethod 
...
};
 
<methodOutputType(s)> doSecondStuff()  {
//aLotOfThingsOfTheSecondMethod 
...
};

@Test 
<methodOutputType(s)> doFirstAndSecondAsSequence() {
...
doFirstStuff();
doSecondStuff();
...
};

(Happy Smile) #7

В моем случае названия классов такие


(Happy Smile) #8

Хорошо, возможно у меня неправильная “хотелка”))
У меня есть два теста, который выполняют одни и те же действия с формой(заполняют ее). Разница только в том, что в одном тесте клик по одному чекбоксу, в другом - по другому - как следствие появляются новые поля.
Мне нужно чтобы и один и другой тест я могла запускать через мавен(вместе) и потом смотреть отчет по тестам и билд не падал)))


(Руслан) #9

@WithTag(“1”)
@WithTag(“2”)

mvn -> -Dtags=1


(Happy Smile) #10

Я хочу чтобы можно было сразу запустить оба теста через мавен, а не по очереди ручками. Такое возможно?


(sidelnikovmike) #11

А у вас testng или junit?


(Happy Smile) #12

testng


(Sergey Korol) #13

Проект целиком где-то можно увидеть? А то с такими темпами тема закроется через год.

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


(Happy Smile) #14

Посмотрите пожалуйста тут:


(Pavel Ordenko) #15

Из лога все равно ничего не ясно. А если, как мавен советует, запустить с ключиком -X?

На счет вопроса в целом:

  1. Опишите Ваши тестовые классы в XML сьюте (тут сказано, как это делается) последовательно: выше - тот, который должен первее выполниться. В элементе suite добавьте атрибут preserve-order=“true”
  2. Подключите в проект плагин для мавена maven-surefire-plugin, указав в нем путь к сьюте из шага 1 (подробнее тут, раздел “Using Suite XML Files”).

Зависимости между тестами можно попробовать разруливать через группы (чтобы если первый тест упадет, второй - не запускался.) Подробнее - все на той же страничке с официальной документацией к TestNG (первая ссылка), раздел Test Groups