• Главная
  • О нас
  • Статьи
  • Вакансии
  • Контакты

Запуск Selenium тестов через SSH tunnel на своем компьютере

06 Март 2012 by Goliath in QA tags: putty, QA, Selenium, tunnel

Selenium тесты один из самых простых способов покрыть веб приложения тестами, но что делать если на сервере нет возможности поднять Selenium RC, так как для его корректной работы под nix системами нужно поднять x11. Одним из вариантов решения – использовать SSH туннели.

Как ни прискорбно признавать, но большинство разработчиков используют Windows. И самый популярный клиент для SSH под windows является putty, вот его мы и будем использовать, про линуксоидов тоже не забудем и приведем пример для linux.

Установка Selenium RC

Тут все просто заходите на официальный сайт и скачивайте последнею версию Selenium RC. У вас должен быть jar файл selenium-server-standalone-x.xx.x.jar. И теперь вы можете его запустить с консоли:

java -jar selenium-server-standalone-x.xx.x.jar -interactive -multiWindow

После этого запустится Selenium сервер на 4444 порт, этот порт используется по умолчанию.

Настройка SSH туннеля

Теперь завернем локальный 4444 порт на удаленный сервер при помощи SSH туннеля. Для этого запустите Putty выберите пункт меню Connection -> SSH -> Tunnels. В появившийся форме укажите Source Port 4444 и Destination localhost:4444 и не забудьте нажать на кнопку Add, как ни странно многие про нее забывают.

Написание PHPUnit теста для Selenium RC

Для проверки работы нашего туннеля напишем простенький Selenium тест на PHPUnit.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require_once 'PHPUnit/Extensions/SeleniumTestSuite.php';
 
class TestSshTunnel extends PHPUnit_Extensions_SeleniumTestCase
{
    public static $browsers = array(
            array(
                    'name'    => 'Firefox on Windows',
                    'browser' => '*firefox',
                    'host'    => 'localhost',
                    'port'    => 4444,
                    'timeout' => 30000,
            )
    );
 
    protected function setUp()
    {
        $this->setBrowserUrl("http://google.com/");
    }
 
    public function testTunnel()
    {
        $this->open("http://google.com/");
        $this->type("id=gbqfq", "selenium");
        $this->click("id=gbqfb");
    }
}

Теперь запускаем наш тест в ssh консоле:
phpunit test.php
и наблюдаем как выполняется наш тест на локальной машине, а результат тестирования отображается на сервер.

Тоже самое для Linux/MacOS

В целом все тоже самое за исключение поднятия туннеля, хотя putty есть и для этих платформ все равно разработчики любят подымать туннель с консоли:

ssh -nNT -R 4444:127.0.0.1:4444 username@yourhost.com

Эпилог

И помните главное, что ssh это наше все!

DevPoint: Selenium в тестировании веб-приложений
Используем custome profile в Selenium 2 и пару полезных ключей

Leave a Comment! Отменить ответ

You must be logged in to post a comment.
О Нас

Juds–компания по разработке программного обеспечения, разработке веб-проектов и мобильных приложений. Все предлагаемые нами решения индивидуальны и направлены на максимально точное удовлетворение потребностей наших партнеров. Мы находимся в постоянном поиске новых ярких решений. Главные критерии – актуальность применения и инновационность.

Статьи
  • Лучшее из мира PHP за 2013
  • Полезные функции Google Analytics
  • Что в SEO можно считать нормальным и работающим, а что – отжившим
  • 30 полезных для себя вещей
  • Дайджест интересных новостей и материалов из мира PHP (20 октября — 10 ноября 2013)
  • Cinema 4D: создаем плагин – объект
IT Юмор
Метки
Android Composer experience Game Design game development google HHVM it experience it юмор Laravel manager PHP unity3d Yii Zend Framework 2 Zephir Новости Обучение веб-разработка дайджест исследование подборка ссылки стартап тенденции
© 2014 Juds. Все права защищены.