Blog > O que é o Selenium Remote Control

28/jan

Neste post iremos falar sobre o Selenium Remote Control, uma das ferramentas mais importantes do Selenium para o controle e execução de scripts do Selenium IDE e também como servidor que interpreta os comandos em qualquer linguagem suportada para a execução em browsers web.

O que é o Selenium Remote Control?

É um sistema de cliente/servidor que habilita o controle de browser web, que suportam Javascript, de forma local ou remota através de utilização de um script Selenese (criado pelo Selenium IDE) ou de linguagens de programação suportadas utilizando o protocolo HTTP.

Existem duas partes distintas do Selenium Remote Control:

  • 1.Cliente: bibliotecas das linguagens de programação suportadas pelo Selenium
  • 2.Servidor: aplicação que, automaticamente, executa ações e também fecha um browser web e age como um proxy para as requisições HTTP

Essa separação é ilustrado na imagem abaixo:

Instalação

Não é preciso de instalação do Selenium Remote Control, e sim o download do servidor ou das bibliotecas de sua linguagem de programação preferida.

O servidor pode ser encontrado na página de downloads na sessão “Selenium Server (formerly the Selenium RC Server)“ e as bibliotecas na sessão “Selenium Client & WebDriver Language Bindings “.

Utilizando o Selenium Remote Control com Selenese

Essa utilização se dá através da utilização de scripts gerados do Selenium IDE.

Há :

  • Geração de uma suíte de teste no Selenium IDE
  • Execução da suíte de teste via linha de comando

Geração de uma suíte de teste no Selenium IDE

Com um ou mais testes (que o Selenium IDE chama de Caso de Teste) vá até o menu Arquivo > Save Test Suite e salve em um local de sua preferencia.

Execução da suíte de teste via linha de comando

Com a suíte de teste salva é necessário iniciar o Selenium Remote Control para a execução do script.

A seguinte linha de comando deve ser utilizada, mostrando apenas o que é necessário passar como parâmetro:

java –jar selenium-server-standalone-x.xx.x.jar –htmlSuite *browser “pagina_de_teste“ “caminho_script” “caminho_resultado”

No arquivo os x.xx.x se referem a versão do Selenium Remote Control. Na escrita deste post a versão era a 2.39.0

O parâmetro –htmlSuite é necessário para indicar ao Selenium Remote Control que ele executará um script do Selenium IDE
*browser refere-se ao browser utilizado para o teste
pagina_de_teste refere-se a pagina inicial/alvo do script
caminho_script refere-se ao caminho completo da suíte de teste do Selenium IDE, incluindo a extenção .html
caminho_resultado refere-se ao caminho e nome do arquivo que nós iremos inserir para visualizar o resultado do teste

Exemplo real

java –jar selenium-server-standalone-2.39.0.jar –htmlSuite *firefox <a href="http://qualister.com.br“">http://qualister.com.br“</a> “C:\script\suite_teste.html“ “C:\script\resultado_suite_teste.html”

Observações:

  • Você precisa ter a JRE ou JDK Java instalada no sua máquina
  • O comando de exemplo está pressupondo que você está no diretório onde o arquivo do Selenium Remote Control está

O script irá executar e depois gerar um arquivo no diretório e com nome que inserimos no caminho_resultado, gerando um arquivo semelhante ao abaixo:

Utilizando as bibliotecas das linguagens de programação

Utilizando Java

Utilizando Java não é necessário iniciar via linha de comando o Selenium Remote Control. É necessário adicionar, além da biblioteca Java, o Selenium Remote Control no classpath da sua IDE preferida.

O exemplo abaixo mostra as duas bibliotecas adicionadas no classpath do Eclipse IDE

Utilizando outras linguagens de programação

Quando não utilizamos Java, antes da execução do script, é necessário iniciar o Selenium Remote Control pelo seguinte comando no terminal da sua máquina:

java –jar selenium-server-standalone.x.xx.x.jar

Isso iniciará o servidor e irá fazer com que todo os comandos da linguagem sejam interpretados e simulados no browser web indicado.

Para parar o servidor basta pressionar CTRL + C em qualquer sistema operacional.

O detalhe de cada linguagem, quanto a cada biblioteca pode ser visualizado pelo link http://docs.seleniumhq.org/docs/05_selenium_rc.jsp#running-selenium-server

Conclusão

Neste post aprendemos um pouco mais sobre Selenium com o Selenium Remote Control, peça importante para a execução de scripts através do Selenium IDE ou via linguagens de programação.

Desta maneira conseguimos integrar os scripts do Selenium com ferramentas de Integração Contínua.

POSTS RELACIONADOS

AGENDA

CURSOS RELACIONADOS