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

Трябва да напишем някои автоматизирани UI тестове на проект, който е направен изцяло в PHP Kohana Framework, всички наши инженери имат опит с PHP език, но нито един в Java.

Но изглежда има малко количество алтернативи по отношение на използването на phpunit със селен сървър и няма официална поддръжка за PHP. Ако използваме класа на страницата на phpunit, ще останем със сървър Selenium RC1 и това не е нещо, което бихме искали, тъй като нашият сайт има много ajax и динамично съдържание. Прочетохме, че има 3 различни проекта, които използват протокола selenium Json Wire, за да осигурят съвместимост с опциите на уебдрайвера. Но този във Facebook изглежда непълен, дори ключовете за изпращане не са внедрени, но изглежда гъвкав за добавяне на наш собствен код и функционалност. Уебдрайверът на chibimagic има ужасна конвенция (използване на долни черти срещу главни и малки букви), която би нарушила нашите собствени конвенции и не ни харесва толкова много. Смятаме, че класът на Лукаш Колчински е най-добрият от тях, но да разчитаме на важен проект на един единствен човек, който може да напусне проекта, не изглежда като умна опция.

Какво бихте направили, ако това беше вашият проект? В момента не можем да си позволим QA инженер, така че двама от нашите разработчици ще напишат тестовете за момента и те не знаят нищо за 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. Просто потърсете в Google уроците, вашите инженери скоро ще могат да възпроизведат.

Предложени инструменти: 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
P.S. Казах пет, тъй като петият, за който знам, е клон на php-webdriver-bindings в github. com/daluu/php-webdriver-bindings. Той добавя WebDriverBackedSelenium, наред с други неща. - 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