Веб-драйвер Selenium (PHP или JAVA)

Нам нужно написать несколько автоматизированных тестов пользовательского интерфейса для проекта, полностью выполненного на PHP Kohana Framework, все наши инженеры имеют опыт работы с языком PHP, но не с Java.

Но, похоже, существует небольшое количество альтернатив относительно использования phpunit с сервером selenium и отсутствие официальной поддержки PHP. Если бы мы использовали класс на странице phpunit, мы бы застряли на сервере Selenium RC1, а это не то, что нам нужно, поскольку на нашем сайте много ajax и динамического контента. Мы читали, что существует 3 разных проекта, которые используют протокол Selenium Json Wire для обеспечения совместимости с параметрами веб-драйвера. Но Facebook кажется неполным, даже ключи отправки не реализованы, но выглядит гибким, чтобы добавить наш собственный код и функциональность. Веб-драйвер chibimagic имеет ужасное соглашение (использование символов подчеркивания и верблюжьего регистра), которое нарушает наши собственные соглашения, и нам это не очень нравится. Мы думаем, что класс Lukasz Kolczynski — лучший из них, но доверять важный проект одному парню, который может покинуть проект, не кажется разумным вариантом.

Что бы вы сделали, если бы это был ваш проект? сейчас мы не можем позволить себе инженера по контролю качества, поэтому два наших разработчика на данный момент будут писать тесты, и они ничего не знают о Java, им потребуется обучение в языке и инструментах и ​​выглядит как хороший долгосрочный вариант, но очень дорогой. У многих людей, кажется, есть тот же самый вопрос, но я еще не услышал хорошего ответа.


person markdrake    schedule 16.02.2012    source источник


Ответы (4)


Сейчас у нас есть тесты Selenium с использованием сервера V1, и у нас не было возможности изучить варианты. Я ожидаю, что проекты веб-драйверов PHP со временем улучшатся и, вероятно, начнутся с этого, поскольку вы быстро начнете работать.

Что касается использования Java, синтаксис очень похож на PHP, а сам тестовый код не будет слишком полагаться на специфику Java, кроме Selenium API. Настройка инструментов может быть PITA, но вы сможете найти много помощи в Интернете для этого. Тем не менее, введение нового языка только для тестирования кажется риском, которого лучше избегать, если это возможно.

person David Harkness    schedule 16.02.2012

Я бы все равно исследовал java.

Selenium в Java очень-очень прост, а WebDriver еще важнее. Просто погуглите учебники, и ваши инженеры скоро смогут воспроизвести их.

Предлагаемые инструменты: Eclipse, JUnit, Selenium 2.

person arket    schedule 17.02.2012

В конце концов, мы решили создать собственную библиотеку для взаимодействия с Selenium Json Wire Protocol и поделиться ею с сообществом.

Мы стремились сделать его как можно более похожим на примеры из официальных библиотек других языков, чтобы любой пример из Java имел очень похожий синтаксис в php.

Вот ссылка, надеюсь, она поможет кому-то еще: https://github.com/Nearsoft/PHP-SeleniumClient

Если вам это нравится, поделитесь им, примите участие, разветвите его или делайте, как вам нравится.

С уважением, Марк.

person markdrake    schedule 31.05.2012
comment
Ваша реализация веб-драйвера завершена? т.е. Вам удобно утверждать, что это лучшая из пяти (!) доступных реализаций PHP для любого разработчика, а не только для вас? (Возможно, было бы неплохо добавить страницу в проект github, защищающую его, а не пытаться втиснуть ответ в комментарий здесь :-) - person Darren Cook; 01.06.2012
comment
Он настолько полный, насколько нам было нужно, большинство основных функций реализованы и протестированы. Мы проверили все остальные реализации, и нам не понравилось то, что мы увидели. Мы решили сделать его полностью ООП, использовать пространства имен, автозагрузчики и почти идентичный синтаксис из примеров seleniumhq.org. Я не могу сказать вам, лучший он или нет, вы, как пользователи, скажете нам. С Уважением. - person markdrake; 01.06.2012

Возможно, сработает среда тестирования JavaScript?
Вы можете выполнять тесты пользовательского интерфейса с помощью среды JavaScript, и ваши разработчики должны знать JavaScript.

См. это нить.

person Anders    schedule 16.02.2012
comment
Мы хотели бы придерживаться сервера Selenium, но спасибо за предложение. - person markdrake; 17.02.2012