t.me/atinfo_chat Telegram группа по автоматизации тестирования

Selenium 2.0 параллельный запуск тестов


(DarkNik) #1

В Selenium 2.0 предусмотрено параллельное выполнение тестов. Значит ли это, что один и тот же тест можно будет запустить в двух разных браузерах одновременно выполняться, под одной ОС? Или нужно будет ставить виртуальные машины с разными браузерами и только тогда он будет будет выполняться одновременно?

					</p>

(d3unka) #2

С webdriver можно будет запускать любым способом. Только насчет стабильности первого способа не буду ручаться. 


(Mykhailo Poliarush) #3

Вообще, честно говоря, надо смотреть в сторону http://code.google.com/p/selenium/wiki/Grid2 или же просто программного доделавать например, как указал d3unka через TestNG.

Например, для Python я использую py.test с использование xdist который дает мне возможность паралелить тесты и вот код из которого можно быстро сделать запуск на разные браузеры.


(DarkNik) #4

Сейчас отказался от вебдрайвера и селениум2.0 и сделал связку как описано вот здесь http://automated-testing.info/knowledgebase/article/ustanovka-selenium-phpunit

Каким образов в таком случае можно настроить параллельный запуск тестов?


(d3unka) #5

У phpunit есть проблемы с паралельным запуском. Разработчик обещает зафиксить это в след. версиях. Но пока что можно использовать workaround 


(DarkNik) #6

я тогда вообще теряюсь, можете мне подсказать пожалуйста, что лучше с чем свзяать?

Вообщем задача такая. Есть проект на PHP, тесты нужно писать тоже на PHP

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


(d3unka) #7

Я бы пока не спешил с паралелизацией. А сделал бы обычный запуск тестов через билд систему(PhpUnderControl, Jenkins) с помощью ant, maven либо phing. Репорт будете получать из phpunit results.xml  которая очень красиво отображается на билд системе.


(Artjom Kurapov) #8

Бергман сделал ветку по параллельному запуску

https://github.com/sebastianbergmann/phpunit/tree/parallel-test-execution-with-make


(d3unka) #9

уже пробовали в действии ?


(Artjom Kurapov) #10

Я не смог её поставить заместо старой. Там вроде через ant надо билдить, но непонятно куда её надо изначально размещать. А если просто распаковать, то при запуске ругается на @bin_dir@


(d3unka) #11

Если верить его хелпе, то там достаточно репозитории прописать и установить как обычно. 

 

Я попробую на досуге и отпишусь


(d3unka) #12

Если верить его хелпе, то там достаточно репозитории прописать и установить как обычно. 

 

Я попробую на досуге и отпишусь


(selekhovan) #13

Подскажите как для распараллеливания имеющегося набора тестов Selenium на PHP,(PHPUnit, CI-Cruise Control,) использовать http://saucelabs.com/ .Как это работает?
Какие есть другие беспланые методы распараллелить тесты.


(Mykhailo Poliarush) #14

лично у меня не было практики с PHPUnit, но знаю что PHPUnit позволяет запускать тесты в отдельные потоки с помощью аннотаций @runTestsInSeparateProcesses и @runInSeparateProcess
http://sebastian-bergmann.de/archives/730-Isolated-and-Parallel-Test-Execution-in-PHPUnit-4.html


т.е. пример 
https://github.com/spriebsch/phpca/blob/18333cd2b82ef3ef96b8584bce01c195f06d2934/tests/ConstantsTest.php
http://www.google.com/codesearch#b5Es7iejZx0/tests/Zend/Session/SessionManagerTest.php&ct=rc&cd=3&q=@runInSeparateProcess
http://www.google.com/codesearch#7kMpzwBM-nY/trunk/symfony-2.0/src/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Command/InitApplicationCommandTest.php&ct=rc&cd=2&q=@runInSeparateProcess

а для того чтобы использовать SauceLabs нужно только указать правильные настройки сервера SauceLabs OnDemand на котором будет выполняться тесты
http://saucelabs.com/blog/index.php/2010/09/parallel-automated-browser-testing-in-php-using-selenium-and-sauce-ondemand/
http://saucelabs.com/docs/ondemand/basic-example-php


(Mykhailo Poliarush) #15

http://saucelabs.com/pricing