Перейти к содержимому

Публикации DennisM

55 публикаций создано DennisM (учитываются публикации только с 19 мая 2023)



#148289 Какой максимум тестов можно кинуть в Selenium GRID в параллели?

Отправлено автор: DennisM 02 февраля 2016 - 17:06 в Selenium - Functional Testing

Заметил в отчете что фейлятся тесты которые уже прошли. Грид выполнил тест на одной ноде и бросил на второй? О_о
 
Test Name                   Duration         Age
........ 
.......
Test6_StackMenu[3]     2 min 2 sec    1
Test6_StackMenu[3]     0 ms               1
Test6_StackMenu[0]     7 min 19 sec   1

 

Test6_StackMenu[0]     0 ms                1

......

.....




#148286 Какой максимум тестов можно кинуть в Selenium GRID в параллели?

Отправлено автор: DennisM 02 февраля 2016 - 14:03 в Selenium - Functional Testing

 

<threadCount>15</threadCount>

Судя по конфигурации, у вас по 10 браузеров разного типа, т.е. 15 потоков это на 5 больше, чем может выделить хаб, при условии, если вы используете стандартный паттерн WebDriverFactory.

Т.е. вам нужно делать количество потоков не больше, чем указано здесь:

-browser "browserName=chrome, maxInstances=10

 

Даже если там вот так: 
 
<parallel>all</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
<parallelOptimized>true</parallelOptimized>
 
Результат тот же. На одной ноде всё ОК, на одновременно 2 начинает падать в случайном порядке.
 
Иногда в логе просто это:
Stacktrace java.lang.NullPointerException

 

С одной нодой этот тест проходит.




#148255 Какой максимум тестов можно кинуть в Selenium GRID в параллели?

Отправлено автор: DennisM 01 февраля 2016 - 18:11 в Selenium - Functional Testing

Машины мощщщные? где тесты запускаете?

Максимум 5-6 потоков надо ставить.

Все виртуалки. По 8 CPU дано каждой. С 10 браузерами в параллели нагрузка 70-80%




#148254 Какой максимум тестов можно кинуть в Selenium GRID в параллели?

Отправлено автор: DennisM 01 февраля 2016 - 18:06 в Selenium - Functional Testing

Интерестно  то, что если запустить всё на одну Ноду, то тесты проходят нормально. Похоже Грид не может аккуратно раскидать тесты на 2 ноды.
Для ограничения нагрузки на Грид, делал так же ограничение в   POM.XML. Не помогло...
Вижу решение только в уменьшении нагрузки (делать больше Джабс на Jenkins с меньшим количеством тестов в каждом) или раннить только на одной ноде. Но тогда теряется смысл Грида - раскидать тесты в параллели для уменьшения времени.
 
<build>
<plugins>
 
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
 
<includes>
<include>**/StackChecking.java</include>
</includes>
 
<parallel>all</parallel>
<threadCount>15</threadCount>
<argLine>-Xmx512m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
 
</plugins>
</build>



#148198 Какой максимум тестов можно кинуть в Selenium GRID в параллели?

Отправлено автор: DennisM 29 января 2016 - 16:01 в Selenium - Functional Testing

Есть Datadriven тесты и их много. Один сет на 200 второй на 500 тестов. При запуске 200 и более в параллели Grid медленно умирает. На нодах появляются браузеры и никакого движения внутри.  При запуске ~150 в параллели вроде всё работает но много тестов валятся не начавшись. Лимит на 2 нодах по 10 браузеров, т.е. 130 в ожидании сразу висят.

 

Error Message

Error forwarding the new session Error forwarding the request Read timed out
Command duration or timeout: 1110.85 seconds
Build info: version: '2.49.0', revision: '365eeb44deba2067b1761c8862ef21d55250e063', time: '2016-01-13 11:57:39'
System info: host: 'Jenkins', ip: '192.168.3.220', os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.8.0_65'
Driver info: org.openqa.selenium.remote.RemoteWebDriver

 

Stacktrace

org.openqa.selenium.WebDriverException:
Error forwarding the new session Error forwarding the request Read timed out
Command duration or timeout: 1110.85 seconds
Build info: version: '2.49.0', revision: '365eeb44deba2067b1761c8862ef21d55250e063', time: '2016-01-13 11:57:39'
System info: host: 'Jenkins', ip: '192.168.3.220', os.name: 'Windows 8.1', os.arch: 'x86', os.version: '6.3', java.version: '1.8.0_65'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
    at com.expion.test.Test.AllServers.Test1(AllServers.java:297)
Caused by: org.openqa.grid.common.exception.GridException: Error forwarding the new session Error forwarding the request Read timed out

 

 

Конфигурация:

 

Java + Selenium 2.50.0 (WebDriver) + JUnit(Parameterized) + Maven(POM Parallel) -> Jenkins :)

 

Grid Hub:

java -jar c:\Jenkins\SeleniumGrid\selenium-server-standalone-2.50.0.jar -port 4444 -role hub -nodeTimeout 1000 -browserTimeout 10000

 

Grid Node:

java -Dwebdriver.chrome.driver=c:\Jenkins\SeleniumGrid\chromedriver.exe -Dwebdriver.ie.driver=c:\Jenkins\SeleniumGrid\IEDriverServer.exe -jar c:\Jenkins\SeleniumGrid\selenium-server-standalone-2.50.0.jar -role node -hub http://192.168.3.220...4/grid/register -port 5555 -maxSession 10 -browser "browserName=firefox, version=exp_auto_1, maxInstances=10" -browser "browserName=iexplore, maxInstances=10" -browser "browserName=chrome, maxInstances=10"