Size: a a a

Selenide на русском

2020 July 13

A

Artem in Selenide на русском
Yuriy
подскажите плз а можно ли как-то сделать так чтобы при создании скриншота был каким-то образом выделен веб-элемент где (над которым) происходит действие ?
Можно джаваскриптом сделать рамку, например. Там внизу есть ссылка на гитхаб (который временно заболел)
https://ru.selenide.org/2019/12/06/advent-calendar-visualize-click/
источник

АГ

Алексей Герасимов... in Selenide на русском
Я создал отдельный метод для клика и в него добавил:

 Selenide.executeJavaScript("arguments[0].style[\"box-shadow\"] = '" + "inset 0 0 5px red" + "'", element);
       sleep(100);
       Selenide.executeJavaScript("arguments[0].style[\"box-shadow\"] = '" + "inset 0 0 0px red" + "'", element);
источник

Y

Yuriy in Selenide на русском
Artem
Можно джаваскриптом сделать рамку, например. Там внизу есть ссылка на гитхаб (который временно заболел)
https://ru.selenide.org/2019/12/06/advent-calendar-visualize-click/
В єтом коде добавляется листенер. А можно ли так сказать расширить сущестсвующий листенер єтим кодом ?
У меня Аллюр встроен в проект и он пользуется листенером.
источник

AS

Andrei Solntsev in Selenide на русском
Так кто ж мешает иметь два листенера?
источник

Y

Yuriy in Selenide на русском
скорее всего никто не мешате.. но насколько я помню слышал-читал что выполняются они в рандомоном порядке - то есть в случае когда сначала аллюровский отработает и сделает скриншот а потом  "подсвечивающий" то это ничего не покажет мне на скриншоте
источник

AS

Andrei Solntsev in Selenide на русском
А, вот это может быть.
источник

AS

Andrei Solntsev in Selenide на русском
Тогда используйте только свой листенер, а он пусть наследуется от аллюровского.
источник

AM

Artur Mkrtychian in Selenide на русском
Использую Gradle, Junit5, Allure.
Есть абстрактный класс BaseTest от которого наследуются все тесты.

В @BeforeAll этого класса происходит инициализация браузера и логера:
   SelenideLogger.addListener(
       "AllureSelenide", new AllureSelenide().screenshots(true).savePageSource(true));        

Параллельно тесты запускаю используя Junit5:
   systemProperties = [
       'junit.jupiter.execution.parallel.enabled': true,
       'junit.jupiter.extensions.autodetection.enabled': true,
       'junit.jupiter.execution.parallel.config.strategy': 'fixed',
       'junit.jupiter.execution.parallel.mode.default': 'concurrent',
       'junit.jupiter.execution.parallel.config.fixed.parallelism': 8
   ]

Часть тестов в Allure с норм логами, css локаторами, изображениями.
Касательно другой части тестов в Allure видны только методы, без изображений, локаторов.

В чем может быть проблема?
источник

A

Anton in Selenide на русском
Artur Mkrtychian
Использую Gradle, Junit5, Allure.
Есть абстрактный класс BaseTest от которого наследуются все тесты.

В @BeforeAll этого класса происходит инициализация браузера и логера:
   SelenideLogger.addListener(
       "AllureSelenide", new AllureSelenide().screenshots(true).savePageSource(true));        

Параллельно тесты запускаю используя Junit5:
   systemProperties = [
       'junit.jupiter.execution.parallel.enabled': true,
       'junit.jupiter.extensions.autodetection.enabled': true,
       'junit.jupiter.execution.parallel.config.strategy': 'fixed',
       'junit.jupiter.execution.parallel.mode.default': 'concurrent',
       'junit.jupiter.execution.parallel.config.fixed.parallelism': 8
   ]

Часть тестов в Allure с норм логами, css локаторами, изображениями.
Касательно другой части тестов в Allure видны только методы, без изображений, локаторов.

В чем может быть проблема?
источник

A

Anton in Selenide на русском
точнее 1
источник

AK

Andrey K in Selenide на русском
это в случае если паралеллишь грейдлом, а так оно не нужно, ведь распараллеливанием занимается junit
источник

A

Anton in Selenide на русском
тогда у меня нет вариантов. В случае с testng и мавеном - параллелить средствами testng - нельзхя было юзать форки, это настраивалось уже в мавен surefire.
источник

AM

Artur Mkrtychian in Selenide на русском
Andrey K
это в случае если паралеллишь грейдлом, а так оно не нужно, ведь распараллеливанием занимается junit
если параллелить гредлом, например так:
maxParallelForks = 8
То все тесты с норм логачми, css локаторами, изображениями.

Но в этом случае другая проблема:
Если есть два класса, в первом 2 теста, а во втором 30 тестов.
То тесты будут запущены в два потока.
В первом будут тесты первого класса, а во втором тесты второго класса.
Почему-то параллельно они не запускаются.
источник

AK

Andrey K in Selenide на русском
Artur Mkrtychian
если параллелить гредлом, например так:
maxParallelForks = 8
То все тесты с норм логачми, css локаторами, изображениями.

Но в этом случае другая проблема:
Если есть два класса, в первом 2 теста, а во втором 30 тестов.
То тесты будут запущены в два потока.
В первом будут тесты первого класса, а во втором тесты второго класса.
Почему-то параллельно они не запускаются.
мы параллелим вот так junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.default=concurrent
junit.jupiter.testinstance.lifecycle.default=per_class
источник

AK

Andrey K in Selenide на русском
BaseTest такой же с BeforeAll и листенером внутри
источник

Ri

Rustam is not a func... in Selenide на русском
Подскажите в связке mvn+testNG+selenide парализацию делать через maven-surefire-plugin  или через testNg.xml тоже должно работать?
источник

A

Anton in Selenide на русском
Rustam is not a function
Подскажите в связке mvn+testNG+selenide парализацию делать через maven-surefire-plugin  или через testNg.xml тоже должно работать?
через testng нет форков, а в мавене есть
источник

A

Anton in Selenide на русском
источник

AM

Artur Mkrtychian in Selenide на русском
Andrey K
мы параллелим вот так junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.default=concurrent
junit.jupiter.testinstance.lifecycle.default=per_class
а как вы задаете кол потоков?
источник

AK

Andrey K in Selenide на русском
не задаём - сколько есть классов столько и бежит
источник