Где heck – любая документация Selenium 2 для PHPUnit?

У меня есть разочарование, пытаясь найти любую информацию о Selenium 2 для PHPUnit, за исключением исходного кода и тестов, которые я могу «просмотреть», чтобы «понять это». Кажется, что каждый любимый

https://github.com/sebastianbergmann/phpunit-selenium/blob/master/Tests/Selenium2TestCaseTest.php

… но, конечно, мне не нужно копать сотни строк источника, чтобы получить ответы на простые вопросы? Где я могу найти руководство для новичков, базовую документацию или что-нибудь еще?

Related of "Где heck – любая документация Selenium 2 для PHPUnit?"

Ах-ха момент достиг. Будет пост для следующей бедной души, блуждающей в этих пустынных областях смятения.

Когда Selenium говорит «Selenium 2», они любят говорить «Selenium 2 = Selenium server + WebDriver».

Трюк для пользователя PHPUnit – это часть WebDriver, которая не совсем в PHPUnit. Selenium написал WebDrivers на нескольких других языках, и для PHP есть сторонние разработчики, которых я не пробовал, так как пока я нацелен на PHPUnit. WebDriver – это в основном способ работать в DOM и захватывать элементы. Он получил хорошее резюме на странице http://docs.seleniumhq.org/docs/03_webdriver.jsp .

Когда PHPUnit говорит «Selenium 2», они означают, что они написали классы, которые выполняют большую часть материала в WebDriver, но они не называют его WebDriver, они называют его Selenium 2.

Из-за версии PHPUnit для дома, их методы называются несколько иначе, чем версии Java или C #. Вот почему все так волнуются по поводу тестового примера PHPUnit, потому что это позволяет легко угадать, что вы ищете, после того как вы нашли метод, который вы хотите в документах webdriver.

В противном случае, по-видимому, большинство других функций PHPUnit относятся к оригинальному материалу SeleniumTestCase ; Я собрал несколько ссылок ниже, чтобы централизовать мою информацию несколько. Селен 1 не «мертв», но он старый. PHPUnit по-прежнему использует много архитектуры от реализации Selenium 1, а Selenium 2 PHPUnit на самом деле не такой, но вроде Selenium 1 ++.

Таким образом, нет причин идти на охоту через источник, просто попробуйте сопоставить тестовые примеры PHPUnit с документами WebDriver. Кроме того, несколько методов в учебнике для SeleniumTestCase изменили имена в Selenium2TestCase , но не бойтесь, все по-прежнему работает одинаково, просто немного запутано.

Вы можете спросить: «Почему бы просто не использовать SeleniumTestCase ?» Ну, похоже, что для поддержки других браузеров требуется WebDriver, поэтому, если вы хотите выйти из Firefox, вам понадобится Selenium2TestCase (я могу ошибаться).


Вот некоторые полезные ссылки, которые я нашел, когда я отскочил от этого:


Чтобы решить мой вопрос с несколькими браузерами выше, по-прежнему можно использовать статический шаблон $browser от SeleniumTestCase , но индекс browser изменился на имя browserName :

 public static $browsers = array( array( 'name' => 'Internet Explorer', 'browserName' => 'iexplore', // not 'browser' 'host' => 'localhost', 'port' => 4444, 'timeout' => 30000, ), }; 

Обратите внимание, что Phing не поддерживает <selenium> если вы используете конфигурацию XML.

Я только что прошел через тот же процесс и написал эту статью как ссылку для себя и других:

http://scipilot.org/blog/2013/06/30/re-learning-unit-testing-selenium-2-phpunit-selenium/

Похоже, вы уже ответили на большинство моих открытий, но, по крайней мере, вы будете чувствовать себя менее одинокими в своем расстройстве!

Расширение PHPUnit Selenium (содержащее Selenium2TestCase и т. Д.) Больше не является частью самого проекта PHPUnit – теперь это автономное расширение , которое также должно быть явно установлено (то есть оно не является частью дистрибутива PHPUnit). Однако, похоже, не существует какой-либо документации даже для отдельного расширения.

Также это расширение больше не активно разрабатывается и частично не обновляется с последними изменениями в протоколе WebDriver.

Чтобы использовать Selenium с PHPUnit, вы можете использовать другие инструменты на основе библиотеки php-webdriver :

  • Steward, который интегрирует php-webdriver непосредственно в PHPUnit, поэтому вы можете напрямую управлять Selenium из своих тестов
  • Схема тестирования кода, которая обеспечивает BDD-слой поверх php-webdriver и PHPUnit