Selênio - Controle Remoto

O que é Selenium RC?

Selenium Remote Control (RC) foi o principal projeto Selenium que durou muito tempo antes de Selenium WebDriver (Selenium 2.0) vir a existir. Agora o Selenium RC quase não está em uso, pois o WebDriver oferece recursos mais poderosos, mas os usuários ainda podem continuar a desenvolver scripts usando o RC.

Ele nos permite escrever testes de IU de aplicativos da web automatizados com a ajuda de todo o poder de linguagens de programação, como Java, C #, Perl, Python e PHP para criar testes mais complexos, como ler e escrever arquivos, consultar um banco de dados e enviar os resultados dos testes por e-mail .

Arquitetura Selenium RC

O Selenium RC funciona de forma que as bibliotecas do cliente possam se comunicar com o Servidor Selenium RC passando cada comando do Selenium para execução. Em seguida, o servidor passa o comando Selenium para o navegador usando comandos Selenium-Core JavaScript.

O navegador executa o comando Selenium usando seu interpretador JavaScript.

Selenium RC vem em duas partes.

  • O Selenium Server inicia e elimina os navegadores. Além disso, ele interpreta e executa os comandos Selenese. Ele também atua como um proxy HTTP, interceptando e verificando mensagens HTTP passadas entre o navegador e o aplicativo em teste.

  • Bibliotecas cliente que fornecem interface entre cada uma das linguagens de programação (Java, C #, Perl, Python e PHP) e o Servidor Selenium-RC.

Scripting RC

Agora vamos escrever um script de exemplo usando o controle remoto Selenium. Vamos usarhttp://www.calculator.net/para entender o Selenium RC. Vamos realizar um cálculo de porcentagem usando a 'Calculadora de porcentagem' que está presente no módulo 'Calculadoras matemáticas'.

Step 1 - Inicie o Selenium Remote Control (com a ajuda do prompt de comando).

Step 2 - Depois de lançar Selenium RC, abra o Eclipse e crie um "Novo Projeto" como mostrado abaixo.

Step 3 - Insira o nome do projeto e clique no botão 'Avançar'.

Step 4 - Verifique a pasta Origem, Projetos, Bibliotecas e Saída e clique em 'Concluir'.

Step 5 - Clique com o botão direito no container 'projeto' e escolha 'Configurar caminho de construção'.

Step 6- Propriedades para 'selrcdemo' abre. Navegue até a guia 'Bibliotecas' e selecione 'Adicionar JARs externos'. Escolha o arquivo jar Selenium RC que baixamos e ele aparecerá conforme mostrado abaixo.

Step 7 - As Bibliotecas referenciadas são mostradas conforme exibido abaixo.

Step 8 - Crie um novo arquivo de classe clicando com o botão direito na pasta 'src' e selecione 'Novo' >> 'classe'.

Step 9 - Insira um nome para o arquivo de classe e habilite 'public static void main' como mostrado abaixo.

Step 10 - A classe criada é criada na estrutura de pastas conforme mostrado abaixo.

Step 11- Agora é hora de codificar. O código a seguir contém comentários incorporados para que os leitores entendam o que foi apresentado.

package selrcdemo;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.Selenium;

public class rcdemo {
   public static void main(String[] args) throws InterruptedException {

      // Instatiate the RC Server
      Selenium selenium = new DefaultSelenium("localhost", 4444 , "firefox", "http://www.calculator.net");
      selenium.start();   // Start
      selenium.open("/");  // Open the URL
      selenium.windowMaximize();

      // Click on Link Math Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[3]/a");
      Thread.sleep(2500); // Wait for page load

      // Click on Link Percent Calculator
      selenium.click("xpath = .//*[@id = 'menu']/div[4]/div[3]/a");
      Thread.sleep(4000); // Wait for page load

      // Focus on text Box
      selenium.focus("name = cpar1");
      
      // enter a value in Text box 1
      selenium.type("css=input[name = \"cpar1\"]", "10");
      
      // enter a value in Text box 2
      selenium.focus("name = cpar2");
      selenium.type("css = input[name = \"cpar2\"]", "50");

      // Click Calculate button
      selenium.click("xpath = .//*[@id = 'content']/table/tbody/tr/td[2]/input");

      // verify if the result is 5
      String result = selenium.getText(".//*[@id = 'content']/p[2]");

      if (result == "5") {
         System.out.println("Pass");
      } else {
         System.out.println("Fail");
      }
   }
}

Step 12 - Agora, vamos executar o script clicando no botão 'Executar'.

Step 13 - O script começaria a ser executado e o usuário seria capaz de ver o histórico de comandos na guia 'Histórico de comandos'.

Step 14- O estado final do aplicativo é mostrado abaixo. A porcentagem é calculada e o resultado é exibido na tela conforme mostrado abaixo.

Step 15- A saída do teste é impressa no console Eclipse, conforme mostrado abaixo, pois imprimimos a saída no console. Em tempo real, a saída é gravada em um arquivo HTML ou em um arquivo de texto simples.