Установка Selenium + PhpUnit

В даной статья будет описан manual по установке и настройке Selenium RC + phpUnit с использованием IDE разработки NetBeans  под ОС Windows. Если у вас еще не установлена java сделайте это.

 

Установка PHP

Скачиваем дистрибутив php(installer).

Запускаем установку. В поле выбора директории установки указываем директорию без пробелов в имени (не C:\Program Files\PHP). Например C:\httpd\php. Выбирем пункт "Do not setup a web server". Делаем custom тип установки, включаем PEAR раздел.

По завершению, проверяем установку.

Пуск -> Выполнить или WIN+R.

cmd

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }php -v{/syntaxhighlighter}

Должны получить, что-то вроде этого

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }PHP 5.3.5 (cli) (built: Jan 5 2011 20:29:28)

Copyright (c) 1997-2010 The PHP Group

Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies{/syntaxhighlighter}

 

Установка PEAR

Заходим в директорию где был установлен php и выполняем bat файл.

go-pear.bat

Устанавливаем, как system копию. Проверяем правильность всех 12-ти пунктов, путей к ресурсам.

После установки запускаем сгенерированый в директории php, PEAR_ENV.reg файл, для внесения изменений в реестр Windows.

Переоткрываем консоль еще раз.

cmd

Проверяем установлен ли PEAR

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }pear version{/syntaxhighlighter}

Должны получить что-то вроде

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }PEAR Version: 1.9.0
PHP Version: 5.3.5
Zend Engine Version: 2.3.0{/syntaxhighlighter}

 

Установка phpUnit

Перед установкой обновляем PEAR библиотеки

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }pear update-channels
pear upgrade-all{/syntaxhighlighter}

Устанавливаем phpunit. На даный момент стабильная версия 3.5

Добавляем новые каналы

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com{/syntaxhighlighter}

Устанавливаем

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }pear install phpunit/PHPUnit{/syntaxhighlighter}

Проверяем 

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }phpunit --version{/syntaxhighlighter}
Должны получить
{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }PHPUnit 3.5.12 by Sebastian Bergmann.{/syntaxhighlighter}

 

Установка NetBeans

Скачиваем NetBeans для php проектов.

Устанавливаем.

После установки запускаем и заходим в Tools -> Plugins.

Устанавливаем плагин Selenium for PHP .

 

Запуск Selenium RC

После установки Selenium for PHP плагина, Selenium RC сервер будет встроен в NetBeans и автоматически будет запускаться при старте IDE.

Но лучше запускать вручную, послуднюю версию selenium сервере. Для этого нужно отключить сервер в средствах NetBeans.

Открыть вкладку Services -> Servers -> Selenium Server.

Останавливаем сервер и убираем его из автозапуска в окне Properties.

Скачиваем selenium-server и запускаем из cmd.

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }java -jar selenium-server-standalone-2.0b2.jar -interactive{/syntaxhighlighter}

Должны получить логи запуска selenium сервера, которые заканчиваются как

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }23:06:20.759 INFO - Started HttpContext[/wd,/wd]
23:06:20.766 INFO - Started SocketListener on 0.0.0.0:4444
23:06:20.767 INFO - Started org.openqa.jetty.jetty.Server@32fb4f{/syntaxhighlighter}

 

Проверка

Создаем новый PHP проект и первый пилотный Selenium Test

{syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }<?php
require_once ‘PHPUnit/Extensions/SeleniumTestCase.php’;
/**

  • Sample of Selenium Google Test

  • @author Andrii Dzynia
    */
    class SeleniumGoogleTest extends PHPUnit_Extensions_SeleniumTestCase {

    function setUp() {
    $this->setBrowser(“*iexplore”);
    $this->setBrowserUrl(“http://google.com/”);
    }

    function testMyTestCase() {
    $this->open(“/”);
    $this->type(“q”, “selenium”);
    $this->click(“btnG”);
    sleep(“5”);
    $this->assertTrue($this->isTextPresent(“Selenium”));
    }
    }{/syntaxhighlighter}

    Запускаем shift+F6.

    В output видим консольный результат теста

    {syntaxhighlighter brush: bash;fontsize: 100; first-line: 1; }PHPUnit 3.5.12 by Sebastian Bergmann.
    .
    Time: 15 seconds, Memory: 3.50Mb
    OK (1 test, 1 assertion){/syntaxhighlighter}

    Среда разработки готова для дальнейшего построения тестового фреймворка и написания новых тестов.

Уважаемые господа тестеры shift+F6 выдаёт ,что невозможно установить соединение с localhost, почему?

А Selenium server запущен?

Проверьте пожалуйста, создали ли вы class как Selenium Test? В режиме Projects(Window->Projects) тесты должны лежать в корневой папке проекта Test Files, а не Source Files.

Selenium server запущен

Пробовали ли предложенный выше вариант ? 

Помогло, спасибо за хорошую статью и своевременный отклик:)

Вам бы было интересно читать следующие статьи по phpunit + Selenium ?

Чтобы не заморачиваться  с запуском Selenium'a вручную, свежескаченную версию нужно положить сюда:

Папка_пользователя\.netbeans\7.0\modules\ext\selenium (переименовать соответственно)

Отключать сервер в netbeans не надо

Со следующего мы серьезнее возьмемся пополнением статтей на эту тему. 

Да,мне это интересно