Не важно на каком языке программирования написан сайт или при помощи какого фреймвока он сделан, мы можем написать тесты на php используя PHPUnit + Selenium.

Для этого нам нужно:

  1. Установить библиотеки PHPUnit и Selenium (https://packagist.org/packages/phpunit/phpunit-selenium)
  2. Установить веб-драйверы chrome (https://sites.google.com/a/chromium.org/chromedriver/downloads) и firefox ( https://github.com/mozilla/geckodriver/releases).
  3. Сервер selenium (http://www.seleniumhq.org/download/. Находим блок "Selenium Standalone Server", строку Download version и скачиваем по ней jar файл).
  4. Нам нужен composer. Если нет, устанавливаем (https://getcomposer.org/download/)
  5. Написать простой тест, который открывают браузер и кликает там по каким-то элементам.
  6. Аккаунт на mail.ru (на нем и будем тестировать)
Делаем все это на Ubuntu

Устанавливаем библиотеки PHPUnit и Selenium

Для установки библиотеки PHPUnit и Selenium переходим в папку проекта. Выполняем в консоли команду:

composer require phpunit/phpunit-selenium

Устанавливаем webdriver-а для chrome и firefox

Для этого, скаченные файлы (см. п. 2) нужно поместить в каталог /usr/bin

Запускаем selenuim server

Выполняем в консоли команду:

java -jar имя скаченного файла.jar (например: java -jar selenium-server-standalone-3.0.1.jar)

Пишем код

Задача:

  1. авторизироваться на сайте mail.ru
  2. из списка доменов выбрать inbox.ru, если у вас домен не mail.ru, а inbox.ru

В папке проекта (в той, в которую мы загрузили библиотеки PHPUnit и Selenium) создаем класс MailRuTest c именем файла MailRuTest.php

<?php

class MailRuTest extends PHPUnit_Extensions_Selenium2TestCase
{
    private $login  = 'ваш логин' // указываем без @mail.ru (например: my-login);
    private $password = 'ваш пароль';

    protected function setUp()
    {
        /**
           Выбираем браузер
        */
        $this->setBrowser('firefox');        
        //$this->setBrowser('chrome'); 
        $this->setBrowserUrl('https://mail.ru');
    }

    public function testAuth()
    {
        /**
            Переходим на страницу авторизации
        */
        $this->url('https://account.mail.ru/login');
        /**
           Указываем логин и пароль в поля авторизации                     
        */ 
        $this->byName('Username')->value($this->login);
        $this->byName('Password')->value($this->password);
        /**
         * Если у вашего почтового ящика домен не mail.ru, а, скажем inbox.ru
         * Выбираем домен из выпадающего списка.
         * Для этого раскомментируйте код ниже
        */
        /**
        $this->byClassName("b-dropdown__ctrl")->click();   
        $this->byCssSelector("a[data-value=\"inbox.ru\"]")->click();    
        */
        /**
            Кликаем по кнопке
        */
        $this->byClassName('b-login__submit-btn')->submit();
        /**
           Поспим 5 секунд
        */
        sleep(5);
    }

}

Проверяем

Запускаем в консоли:

php vendor/phpunit/phpunit/phpunit MailRuTest.php

Ниже, прикреплен архив с веб-драйверами chrome и firefox + selenuim server, которые стоят у меня. Я использую Ubuntu 15.10 / 64 Скачать
Продолжение следует...