Категорії
Linux Solaris WWW

Ставим Selenuim на Solaris/Linux

Что такое Selenuim – можно прочитать на wiki. Здесь опишу только установку

Тестовый стенд: Solaris 11.1 x86, selenium-server-standalone-2.30.0, Debian linux 7.2

Скачиваем selenium-server-standalone с официального сайта http://selenium.googlecode.com/files/selenium-server-standalone-2.30.0.jar в папку /opt/selenium.

Solaris

Примечание.

Под Solaris работает всё, кроме opera и chrome, так как они используют драйвера, жёстко заточенные под linux.

Ставим java:

#pkg install pkg:/runtime/java/jre@1.7.0.7-0.175.0.11.0.4.0

Ставим firefox

#pkg info pkg:/web/browser/firefox@10.0.4-0.175.0.9.0.4.0

Что бы “обмануть” сервер и сэмулировать X-консоль ставим пакет xvfb:

#pkg install pkg:/x11/server/xvfb@1.10.3-0.175.0.6.0.3.1223

В противном случае будет ругаться

Error: no display specified

Запускаем xvfb и эмулируем дисплей на консоли 99:

#Xvfb :99 &

Примечание.

В новых версиях xvfb добавлена опция

-displayfd: option of Xvfb by which it chooses it’s own display name by scanning for an available one

Поэтому, можно использовать её вместо жёсткого указания дисплея.

Теперь переходим к написанию стартового скрипта. Выглядит он так:

#!/usr/bin/bash
cd /opt/selenium
export DISPLAY=:99
java -jar ./selenium-server-standalone-2.30.0.jar -Dwebdriver.firefox.bin=/usr/bin/firefox >>/opt/selenium/selenium.log 2>&1 &

Специально сделали вывод лога в отдельный файл /opt/selenium/selenium.log
Как видно, мы выставили переменную webdriver.firefox.bin и указали полные пути к бинарникам а так же указали параметры для дисплея. Переменные к ява можно задавать -Dvariable. Так же можно задавать и переменные к самому selenium-server. Узнать их можно так

#java -jar ./selenium-server-standalone-2.30.0.jar -h

Теперь просто запускаем:

#/opt/scripts/selenium.sh

В логе увидим такое:

INFO: Launching a standalone server
Setting system property webdriver.firefox.bin to /usr/bin/firefox
14:54:12.398 INFO - Java: Oracle Corporation 23.3-b01
14:54:12.402 INFO - OS: SunOS 5.11 x86
14:54:12.419 INFO - v2.30.0, with Core v2.30.0. Built from revision dc1ef9c
14:54:12.570 INFO - RemoteWebDriver instances should connect to: http://127.0.0.1:4444/wd/hub
14:54:12.572 INFO - Version Jetty/5.1.x
14:54:12.573 INFO - Started HttpContext[/selenium-server/driver,/selenium-server/driver]
14:54:12.574 INFO - Started HttpContext[/selenium-server,/selenium-server]
14:54:12.574 INFO - Started HttpContext[/,/]
14:54:12.714 INFO - Started org.openqa.jetty.jetty.servlet.ServletHandler@b6a52e
14:54:12.715 INFO - Started HttpContext[/wd,/wd]
14:54:12.718 INFO - Started SocketListener on 0.0.0.0:4444
14:54:12.718 INFO - Started org.openqa.jetty.jetty.Server@166c37e

Теперь если зайти по ссылке http://IP:4444/wd/hub мы увидим вебку для создания сессий.

Linux

Ниже опишу лишь отличия от установки Solaris.

Устанавливаем браузеры opera, firefox, chromium.

– для chrome

Скачиваем правильный chromedriver отсюда нужную версию и помещаем его в /usr/bin (что бы не ругалось на отсутствие драйвера).

Если при создании сессии получаете ошибку

chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by chromedriver)
chromedriver: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by chromedriver)

то нужно обновить glibc до нужной версии. На Debian это делается путём обновления до testing: добавляем такую строку в /etc/apt/sources.list

deb http://ftp.debian.org/debian testing main

собственно обновляем:

$ sudo apt-get update
$ sudo apt-get -t testing install libc6-dev

– для opera

Скачиваем jar-файл operadriver отсюда и ложит в любое удобное место.

Стартовый скрипты:

– cat /usr/local/scripts/xvfb.sh

#!/bin/bash
/usr/bin/Xvfb -extension RANDR :99 -screen 0 1366x768x24 -ac &

– cat /usr/local/scripts/selenium.sh

#!/bin/bash
cd /opt/selenium
export DISPLAY=:99
export PATH=$PATH:/opt/selenium/drivers
ps -efc | grep /usr/bin/Xvfb | grep -v grep | awk '{print $2}'
if [ $? != 0 ]
then
/usr/local/scripts/xvfb.sh
fi
java -jar ./selenium.jar -Dwebdriver.chrome.driver=/usr/bin/chromedriver -Dwebdriver.firefox.bin=/usr/bin/firefox -Dwebdriver.opera.bin=/opt/selenium/drivers/operadriver-v1.1/operadriver-v1.1.jar -Dopera.binary=/usr/bin/opera >>/opt/selenium/selenium.log 2>&1 &

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff