t.me/atinfo_chat Telegram группа по автоматизации тестирования

Selenium Server в интерактивном режиме


(Mykhailo Poliarush) #1

Selenium Server используется для передачи команд в Selenium Core. Он поддерживает широкий набор параметров запуска, позволяющий управлять процессом выполнения тестов. В интерактивном режиме, может использоваться как отдельный инструмент для написания «прототипов» тестовых сценариев, при этом не требуя знания языков программирования

Интерактивный режим Selenium Server

«Интерактивный режим» Selenium Server’a позволяет «набросать» прототип теста, не прибегая к программированию. В этом режиме, вы последовательно набираете команды в консоли Selenium Server’a, и тут же видите результат их выполнения в окне браузера. Далее мы рассмотрим, как работает Selenium Server в интерактивном режиме, и выполним ряд стандартных операций.

Для начала нам нужно запустить Selenium Server из командной строки Windows: 

  • Открываем командную строку: Start -> Run… (или нажимаем сочетание клавиш Win+R) -> набираем «cmd» -> нажимаем Ok
  • Переходим в директорию, где установлен Selenium Server, например cd "C:\Program Files\selenium-remote-control-1.0-beta-1\selenium-server-1.0-beta-1“ 
  • Запускаем Selenium Server в интерактивном режиме: java -jar selenium-server.jar –interactive

После некоторых стандартных сообщений, вы увидите сообщение, говорящее о том, что сервер находится в интерактивном режиме:

Entering interactive mode... type Selenium commands here (e.g: cmd=open&1=http://www.yahoo.com)

Формат команды Selenium Server в интерактивном режиме

После запуска сервера, вы можете вбивать команды в этом же окне. В общем виде, команды абсолютно аналогичны используемым Selenium Core (команда, цель, значение), и имеют следующий формат:

cmd=comand&1=target&2=value

Пример использования Selenium Server в интерактивном режиме

  1. Первое, что нам нужно сделать – это запустить браузер. Для запуска Internet Explorer необходимо выполнить следующую команду:
    cmd=getNewBrowserSession&1=*iexplore&2=http://www.google.com
    Мы вызвали команду «getNewBrowserSession» (создать новую сессию тестирования), вторым параметром передав ей браузер, под которым мы будем тестировать (*iexplore для Internet Explorer, *firefox для Firefox, или *opera для Opera), третьим параметром передается домен, на котором будет проходить тестирование (www.google.com). После нажатия Enter, вы увидите сообщение, описывающее запрос, который вы только что сделали:
    ---> Requesting http://localhost:4444/selenium-server/driver?cmd=getNewBrowserSession&1=*firefox&2=http://www.google.com
    Если все в порядке, вы увидите открывшееся окно браузера который вы указали в запросе. В консоли сервера должно появится подобное сообщение:
    Got result: OK,260113 on session 260113
    Первая часть этого сообщения "Got result: OK" говорит о том, что команда была успешно выполнена. Во второй части сообщения мы видим номер – Session ID – идентификатор сессии. Session ID будет новым каждый раз, когда вы выполняете команду "getNewBrowserSession"
  2. Попробуем сделать поиск в Google. Для начала нам нужно открыть Google. Набираем команду “open” в консоли, заменив SessionID числом, полученным после выполнения предыдущей команды:
    cmd=open&1=http://www.google.com/webhp&sessionId=260113
    После выполнения этой команды, ваш браузер откроет google.com в нижнем фрейме. («добавка» /webhp заставляет google оставаться на www.google.com; в противном случае, нас может перенаправить на сервер, зависящий от страны, в которой мы находимся, например www.google.ru)
  3. Итак, Google у нас открыт, и можно попробовать написать что-нибудь в строке поиска. Наберем следующее в консоли сервера (не забываем заменять Session ID в команде вашим Session ID
    cmd=type&1=q&2=hello world&sessionId=260113
    Если все в порядке, вы увидите надпись "hello world" в строке поиска Google.)
  4. Для выполнения поиска, нам осталось только нажать на кнопку поиска. После выполнения команды, вы должны увидеть результат поиска фразы «hello world» в Google.
    cmd=click&1=btnG&sessionId=260113
  5. Следующее, что мы попробуем сделать – получить некоторую информацию о странице. Для примера, получим HTML-заголовок текущей страницы. Для этого следует выполнить команду «getTitle»:
    cmd=getTitle&sessionId=260113
    В результате ее выполнения мы увидим следующее сообщение в консоли:
    Got result: OK, hello world – Поиск в Google on session 260113
    Оно состоит из трех частей: в первой части (Got result: OK) – сообщается о том, что команда выполнилась успешно, во второй – непосредственно результат выполнения команды (hello world – Поиск в Google), и в третьей – идентификатор сессии, в которой выполняются команды (on session 260113)
  6. С помощью следующей команды, мы можем получить значение, находящееся в данный момент в строке поиска страницы Google (поле с именем “q”):
    cmd=getValue&1=q&sessionId=260113
    В результате ее выполнения мы получим уже знакомое нам сообщение, состоящее из трех частей:
    Got result: OK, hello world on session 260113
  7. По окончании сессии тестирования, необходимо остановить запущенный нами браузер. Для этого необходимо выполнить следующую команду:
    cmd=testComplete&sessionId=260113
    После её выполнения, браузер автоматически закроется, и все изменения, сделанные в настройках браузера, вернутся в первоначальное состояние.
  8. Для завершения работы Selenium Server’a, наберите «quit»/«exit» или просто нажмите Ctr+C