1. Введення
Всі знають такий інструмент для тестування WEB додатків Selenium 1 і один з основних його модулів - Selenium RC. Якщо немає, то короткий опис можна знайти тут: [1] (Якщо ви не розумієте English, то скористайтеся перекладачем, наприклад Google Translate, але будьте обережні, так як він переведе вам ще й приклади коду тестів)
Ознайомившись з документацією ви помітили, що до запуску тестів Вам необхідно запускати Selenium Server. однак робити Вам це доведеться тільки при використанні Selenium 1.x.x, так як в Selenium 2.x використовується інша технологія для взаємодією з браузером [5]. Якщо ж ви все-таки вирішили використовувати стару версію інструменту і Вам необхідний запуск Selenium Server, то у вас з'являються варіанти як і звідки це робити.
Примітка. Для запуску Selenium Server потрібно Java версії 1.5 або вище. Якщо у вас встановлена Java версії нижче 1.5, то Selenium Server просто не запуститься.
2 Варіанти запуску Selenium Server
Існує 2 способи запуску Selenium Server:
- з командного рядка
- з коду тестів або фреймворка
Обидва методи мають свої плюси і мінуси. Давайте розглянемо їх ближче.
2.1 Запуск Selenium Server з командного рядка
Так як Selenium Server написаний на джава, то запускати його треба буде через Java Runtime Environment (JRE) версії 1.5 і вище (див. Примітка вище).
Формат запуску з командного рядка наступний:
> Java [Java options] -jar selenium-server.jar [Selenium Server options]
Для отримання списку можливих опцій наберіть в командному рядку
Нижче Ви знайдете трохи більше інформації про Java опціях
Selenium Server options [2]
- Один раз запустили і працюємо
- Список селениум сервера ведуться окремо
- Постійно треба перевіряти чи запущений сервер перед запуском тестів
- Селениум Сервер постійно знаходиться в пам'яті
2.2 Запуск Selenium Server з коду фреймворка або тесту
Якщо ви пишете ваші тести на Java, то у Вас є можливість запускати Selenium Server безпосередньо з коду. Для цього в package org.openqa.selenium.server є class SeleniumServer. За замовчуванням запуск сервера можна зробити наступним чином:
Якщо вам знадобляться додаткові настройки, то необхідно скористатися class RemoteControlConfiguration. Створюємо об'єкт RemoteControlConfiguration і передаємо його в конструктор SeleniumServer:
Розглянемо приклад Java класу, де прямо з коду ми запустимо і сервер і клієнт Selenium RC:
- Сервер автоматично запускається перед стартом тестів і зупиняється після їх прогону
- Можливість параметризації параметрів сервера і варіювання їх з вихідного коду
- При налагодженні тестів запуск сервера забирає певний час, що трохи уповільнює роботу
3 Java опції.
Розглянемо Java опції актуальні для запуску Selenium Server як з командного рядка, так і з коду.
3.1 Java опції необхідні для установки системний властивостей
Найчастіше, для запуску Selenium Servera, необхідно використовувати різні системні настройки java, такі як проксі, кодування і т.д. [3] Для цього вам доведеться застосувати наступні java опції:
Параметри встановлення проксі:
Опції установка кодування файлів:
Приклад командного рядка, що містить всі перераховані параметри:
> Java -Dhttp.proxyHost = test.proxy.com -Dhttp.proxyPort = 1111 -Dhttp.proxyUser = tester -Dhttp.proxyPassword = testpass -Dfile.encoding = UTF-8 -jar selenium-server.jar
3.2 Java опції для роботи з пам'яттю
У разі якщо Вам знадобиться контролювати обсяг пам'яті, що виділяється під Selenim Server [4]. ви можете скористатися наступними опціями:
Отже, що ми розібрали в даній статті:
- Для запуску Selenium Server небхідно Java версії не нижче 1.5
- Є два варіанти запуску Selenium Server - з командного рядка і безпосередньо з коду
- Параметрами запуску java можна контролювати системні властивості, такі як налаштування проксі, кодувань, обсяг виділеної пам'яті і т.д.