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.