Size: a a a

Selenide на русском

2020 March 04

V

Vel in Selenide на русском
У меня получается все тесты внутри одного тестового класса проходят, но как только JUnit5 идет в beforeAll еще раз перед прогоном второго тестового класса, у меня падаает весь последующий набор тестов
источник

AV

Alexei Vinogradov in Selenide на русском
Чтобы не приходилось включать скиллы ясновидца - возьмите за правило всегда прикладывать код тестов и стек-трейс ошибки.
источник

V

Vel in Selenide на русском
Alexei Vinogradov
Чтобы не приходилось включать скиллы ясновидца - возьмите за правило всегда прикладывать код тестов и стек-трейс ошибки.
`.tests.UITests1 > check1 PASSED
     tests.UITests2 > initializationError FAILED
   java.lang.IllegalStateException
`
вот что вижу в консоли, когда первый тест класс проходит, то вначале второго тест класса падает.

`public class TestBase {
   @BeforeAll
   static void setUp() {
       Configuration.browser = IOSDriverProvider.class.getName();
       Configuration.startMaximized = false;
       Configuration.browserSize = null;
       SelenideLogger.addListener("allure", new AllureSelenide());

       open();
       new Login().login();
   }

   @AfterAll
   static void tearDown() {
       SelenideLogger.removeListener("allure");
       closeWebDriver();
   }
}`


Структура тестового класса выглядит так:
`
@ExtendWith({SoftAssertsExtension.class})
public class UITest2 extends TestBase {

   @BeforeAll
   static void precond1() {
       // code here
   }

   @BeforeEach
   void precond2() {
       Configuration.assertionMode = SOFT;
       // code here
   }


   @Test
   void check1() {
       // test here

@AfterEach
void close() {
   cancel();
}
`
источник

AV

Alexei Vinogradov in Selenide на русском
gradle? запускайте c --info тут же стектрейса не видно
источник

V

Vel in Selenide на русском
сори, сек
источник

V

Vel in Selenide на русском
Alexei Vinogradov
gradle? запускайте c --info тут же стектрейса не видно
источник

V

Vel in Selenide на русском
Alexei Vinogradov
gradle? запускайте c --info тут же стектрейса не видно
именно на старте второго тестового класса падает
источник

AV

Alexei Vinogradov in Selenide на русском
Пока не знаю, но там в тексте ошибки есть линк
источник

V

Vel in Selenide на русском
Alexei Vinogradov
Пока не знаю, но там в тексте ошибки есть линк
ну так по линку я и сделал установку и с запуском одного класса все работает, как только вместе запускаю два класса подряд, то на втором валится
источник

AV

Alexei Vinogradov in Selenide на русском
Vel
ну так по линку я и сделал установку и с запуском одного класса все работает, как только вместе запускаю два класса подряд, то на втором валится
в идеале по старой схеме - github проект с примером кода, возможно другой баг
источник

AV

Alexei Vinogradov in Selenide на русском
воркэраунд  - отказаться от всех наследований, возможно проблемы где-то там
источник

V

Vel in Selenide на русском
Alexei Vinogradov
воркэраунд  - отказаться от всех наследований, возможно проблемы где-то там
имеется ввиду в каждом тестовом классе прописывать один и тот же сетап?
источник

AV

Alexei Vinogradov in Selenide на русском
да. если это больше одного вызова - перенести этот как метод в новый класс.
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Извиняюсь за вопрос, который 100% ранее задавал, но щас время появилось и есть возможность к нему вернутся + я забыл внятный ответ. можно повторить причину, почему Configuration (конфиг) не сделан с поддержкой многопоточки? (every change will immediately reflect in all threads (if you run tests in parallel).)

Я с этим столкнулся при сетанье данных в селеноиде. (каждый тест -> свои капабилити для красивостей) Если прям жесткой причины нет. есть смысл PR сделать, или не интересно (рассматривать не будете, не хотелось бы время просто так тратить).
источник

V

Vel in Selenide на русском
Alexei Vinogradov
да. если это больше одного вызова - перенести этот как метод в новый класс.
я убрал наследование и та же самая ошибка вылазит ((
источник

AV

Alexei Vinogradov in Selenide на русском
Vel
я убрал наследование и та же самая ошибка вылазит ((
воооо - это наверняка будет отличный пример для гитхаба, который поможет выявить ошибку в селениде)
источник

VB

Vlad Bak in Selenide на русском
Yaroslav Osmyslitelny
Извиняюсь за вопрос, который 100% ранее задавал, но щас время появилось и есть возможность к нему вернутся + я забыл внятный ответ. можно повторить причину, почему Configuration (конфиг) не сделан с поддержкой многопоточки? (every change will immediately reflect in all threads (if you run tests in parallel).)

Я с этим столкнулся при сетанье данных в селеноиде. (каждый тест -> свои капабилити для красивостей) Если прям жесткой причины нет. есть смысл PR сделать, или не интересно (рассматривать не будете, не хотелось бы время просто так тратить).
https://youtu.be/be_cTwayRQc
Где-то на 10 минуте рассказывал Андрей про конфиги, если не путаю
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
посмотрю, спасибо
источник

AS

Andrei Solntsev in Selenide на русском
Когда делали Configuration, селеноида и в помине не было. Все настройки тогда были "глобальные", типа путь к скриншотам. Один раз проставил и всему проекту навсегда подходит.
источник

AS

Andrei Solntsev in Selenide на русском
А хочет чего-то более динамичного - фигачь WebdriverProvider, он для того и нужен
источник