Как я могу заставить PHPUnit + Selenium работать быстрее? - PullRequest
3 голосов
/ 15 октября 2010

Я использую расширение Selenium в PHPUnit для веб-тестирования. Я нахожу это очень медленно, требуя секунд для одного метода тестирования. Частично проблема заключается в том, что он запускает новый сеанс Selenium между каждым методом тестирования (getNewBrowserSession) как часть runTest (). Это дорого Я в порядке с классом или даже целым набором тестовых методов за один сеанс селена.

Можно ли это сделать? Есть ли другие советы по ускорению PHPUnit + Selenium?

Спасибо.

Ответы [ 3 ]

9 голосов
/ 18 октября 2010

Вы пытались использовать опцию browserSessionReuse ?Например, селен начинается с

java -jar ./selenium-server.java -browserSessionReuse
1 голос
/ 16 октября 2010

Вам нужно поделиться экземпляром Selenium между вашими тестами.Я не знаком с PHPUnit, но в JUnit вы используете статический член (создайте базовый тестовый класс, содержащий экземпляр Selenium, и все тесты должны его расширять).В TestNG вы можете использовать тестовый контекст.

Также старайтесь свести к минимуму использование XPath, если вы тестируете на IE - отсутствие собственного XPath замедляет выполнение тестов.

Также Selenium 1 использует JavaScript для управлениябраузер, поэтому он немного медленный на IE.Selenium 2 (он же WebDriver) использует нативные методы для управления браузером, поэтому, по крайней мере, IE-тесты быстрее.

0 голосов
/ 16 октября 2010

Я бы посоветовал вам создать систему непрерывной интеграции, чтобы проводить тестирование ночью.Тогда утром у вас будет информация, какие тесты в порядке, а какие нет.Проверьте Хадсон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...