quinta-feira, 18 de julho de 2013

Selenium WebDriver C# - Mouse Actions.

Olá pessoal, um código que foi difícil de encontrar na net é o que simula a ação do Mouse.
Existem vários sites que tem menus dropdown e dependendo do site precisa apontar o mouse ou clicar e aguardar apresentar os submenus.
Para fazer essa simulação eu utilizei o site http://www.msn.com.br que utiliza esse tipo de menu dropdown.
Vamos utilizar a biblioteca import org.openqa.selenium.interactions.Actions.
O código fica assim:

            Actions actions = new Actions(driver);
            IWebElement menuDropDown = driver.FindElement(By.LinkText("ENTRETENIMENTO"));
            actions.MoveToElement(menuDropDown);
            //actions.Click();
            actions.Perform();
            driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(6));
            driver.FindElement(By.LinkText("famosos")).Click();

Para o comando IWebElement coloquei o nome menuDropDown.
Para o comando FindElement fiz a procura pelo Texto do Link.
Para o comando actions.moveToElement o Selenium vai procurar o IWebElement que colocamos o nome de "menuDropDown", ou seja, o Link "ENTRETENIMENTO"
Para o comando actions.Click() é para ser usado caso o menu para apresentar o submenu tenha que ter a ação de um clique, como o Site do MSN precisa apenas que o mouse seja posicionado eu comentei o comando.
O comando driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(6)); é para aguardar 6 segundos para o submenu ser apresentado.
Para o comando FindElement fiz a procura pelo Link de Texto "famosos".

Abaixo o código completo:




É isso aí pessoal, estava no Débito.

quarta-feira, 10 de julho de 2013

Selenium WebDriver Java - Mouse Actions.

Olá pessoal, um código que foi difícil de encontrar na net é o que simula a ação do Mouse.
Existem vários sites que tem menus dropdown e dependendo do site precisa apontar o mouse ou clicar e aguardar apresentar os submenus.
Para fazer essa simulação eu utilizei o site http://www.msn.com.br que utiliza esse tipo de menu dropdown.
Vamos utilizar a biblioteca import org.openqa.selenium.interactions.Actions.
O código fica assim:

            Actions actions = new Actions(driver);
            WebElement menuDropDown = driver.findElement(By.linkText("ENTRETENIMENTO"));
            actions.moveToElement(menuDropDown);
            //actions.click();
            actions.perform();
            driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS);
            driver.findElement(By.linkText("famosos")).click();

Para o comando WebElement coloquei o nome menuDropDown.
Para o comando findElement fiz a procura pelo Texto do Link.
Para o comando actions.moveToElement o Selenium vai procurar o WebElement que colocamos o nome de "menuDropDown", ou seja, o Link "ENTRETENIMENTO"
Para o comando actions.click() é para ser usado caso o menu para apresentar o submenu tenha que ter a ação de um clique, como o Site do MSN precisa apenas que o mouse seja posicionado eu comentei o comando.
O comando driver.manage().timeouts().implicitlyWait(6, TimeUnit.SECONDS); é para aguardar 6 segundos para o submenu ser apresentado.
Para o comando findElement fiz a procura pelo Link de Texto "famosos".

Abaixo o código completo:
Este é um comando é muito útil, demorei bastante para consegui-lo.
Por ora é isto, espero ter ajudado.


segunda-feira, 8 de julho de 2013

Selenium C# - Utilizando mais de uma classe.

Pessoal este post é para quem quiser organizar os testes por partes pode criar varias classes.
Vou fazer um classe SairEmail para vocês verem como funciona.
Primeiro vamos criar a classe:
Clique no nome do projeto Gmail, Add e Class
Vamos criar a Classe SairMail
Legal criamos a Classe
Agora na Classe EntraMail vamos criar a instanciar para a nova classe e o método que executará a saída do email.

No final da Classe atribuímos a chamada sairMail para a Classe SairMail e chamamos o método SairEmail().
Agora o código da Classe SairMail:
Pronto utilizamos duas classes, onde fica muito mais organizado a automatização.
Espero ter ajudado vocês, caso tenham alguma situação que não conseguiram utilizar o Selenium podem mandar email para mim mpontoc@gmail.com ou deixar comentários que na medida do possível tentarei ajuda-los.



Mão na Massa - Selenium C# - Começando a Programar

Vamos começar a programar o código para acessarmos o Gmail.
Primeiro vamos mudar o nome default de Program para EntraMail.
Após renomear clique em Sim
Agora vamos criar o Código

Após criar o código vá no menu Build e clique em Build Solution para criar as Dlls do seu código e verificar se existe alguma parte do código que está errada
Agora clique no botão Debug e veja a execução do teste automatizado
Pronto finalizamos o código para entrar no Gmail.




Tutorial Selenium WebDriver - C# - Visual Studio

Pessoal neste Post vamos criar um código para acessar o Gmail utilizando o Selenium WebDriver na linguagem C# pelo Visual Studio.
É bastante semelhante com o Java, os comandos são quase que os mesmos, só mudam as formas de escrever.
Vamos fazer um tutorial passo a passo como fizemos no Eclipse para o Java.
O endereço oficial do Selenium é http://docs.seleniumhq.org neste site você tem todas as Dlls e downloads para utilizar um dos produtos Selenium (IDE, RC e Webdriver).
Para utilizarmos o Selenium Webdriver no Visual Studio devemos primeiramente baixar as Dlls para que o Selenium funcione(Abaixo link para download).

Link: http://selenium.googlecode.com/files/selenium-dotnet-2.33.0.zip
Baixei também os drivers para utilizar os outros Browser (Internet Explorer e Chrome).
Driver IE - 32 bits http://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_Win32_2.33.0.zip
Driver IE - 64 bits http://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_x64_2.33.0.zip
Driver Chrome - http://code.google.com/p/chromedriver/downloads/detail?name=chromedriver_win32_2.0.zip&can=2&q=
Após baixar o pacote, descompacte os arquivos e deixe salvo em um diretório fácil de se lembrar e utilizar, eu prefiro colocar no C:\ .
Abaixo imagem de como deixei no meu C:\. 
A pasta que vamos importar no projeto está dentro da pasta selenium-dotnet-2.33.0
Agora vamos criar o Projeto no Visual Studio
Vamos selecionar a opção Console com o nome Gmail

Pronto criamos o Projeto
Ok agora vamos adicionar as Referencias(Dlls) para o Visual Studio reconhecer os Comandos do Selenium
Clique com o botão direito em References e em seguida clique Add Reference
Na Aba Browser vamos direcionar a pasta que criamos no C:\Selenium\selenium-dotnet-2.33.0, selecione Net40
Selecione todas as Dlls e clique em OK
Agora o Visual Studio está pronto para trabalhar com o Selenium WebDriver.


sábado, 6 de julho de 2013

Selenium Eclipse - Utilizando mais de uma classe.

Pessoal este post é para quem quiser organizar os testes por partes pode criar varias classes.
Vou fazer um classe SairEmail para vocês verem como funciona.
Primeiro vamos criar a classe:
Dentro do Package Email vamos criar uma Classe para começar a programar o código.
Com o Package selecionado tecle Ctrl + N
Selecione Class e clique em Next
Não selecionar a flag public static void main, pois vamos instanciar essa nova classe na primeira classe Inicio.

Ok, agora na classe Inicio vamos criar a instanciar para a nova classe e o método que executará a saída do email.

No final da Classe atribuímos a chamada sairEmail para a Classe SairEmail e chamamos o método SairMail().
Agora o código da Classe SairEmail:

Abaixo como fiz para pegar os Id´s com o Firebug

Id do menu Sair.
Id do botão Sair.

Pronto utilizamos duas classes, onde fica muito mais organizado a automatização.
Espero ter ajudado vocês, caso tenham alguma situação que não conseguiram utilizar o Selenium podem mandar email para mim mpontoc@gmail.com ou deixar comentários que na medida do possível tentarei ajuda-los.



quinta-feira, 4 de julho de 2013

Mão na Massa - Selenium Eclipse - Começando a Programar

Bom agora é a hora de pormos a mão na massa.

Primeiramente vamos criar um Package com o nome de Email
Clique com o botão direito no src do projeto Gmail, New e Package
Na janela Package colocar o nome de Email e clicar no botão Finish
Agora dentro do Package Email vamos criar uma Classe para começar a programar o código.
Com o Package selecionado tecle Ctrl + N
Selecione Class e clique em Next
De o nome de Inicio para a Classe e clique em Finish
Clique na Flag public static void main para o Eclipse já fazer o main para você.



Agora vamos acessar a Classe Inicio Criada e vamos importar as classes do Selenium para que o Eclipse reconheça os comandos:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

O primeiro import é para reconhecer o comando By do Selenium WebDriver.
O segundo import é para reconhecer os comandos do Selenium WebDriver.
O terceiro import é para conseguirmos utilizar o Browser Chrome.
O quarto import é para conseguirmos utilizar o Browser Firefox.
O quinto import é para conseguirmos utilizar o Browser Internet Explorer.

Abaixo Código Completo

Esse código está completo onde acessamos o email utilizando os id´s dos campos com os comandos:
driver.findElement(By.id("Email")).sendKeys("SeuEmail");

Para informar ao Eclipse que pode utilizar os drivers do Chrome e do Internet explorer deve se usar os comandos:

System.setProperty("webdriver.chrome.driver", "C:\\Selenium\\chromedriver\\chromedriver.exe");
System.setProperty("webdriver.ie.driver", "C:\\Selenium\\IEDriverServer\\IEDriverServer.exe");

O comando Thread.sleep(4000); é usado para parar a execução por 4 segundos no caso o valor 4000 entre parentenses.

No Switch coloquei as três formas de criar o objeto navegador, onde, a variavel Navegador é que manda com o seu valor em qual case de criação será utilizado o correspondente navegador.

Para pegarmos os id´s existe um ferramenta chamada Firebug que é um complemento do Firefox por ela você inspeciona o elemento e encontra o id, XPath, name, entre outras propriedades dos campos que podem ser utilizadas no Selenium Webdriver.

Link Firebug https://addons.mozilla.org/pt-br/firefox/addon/firebug/

Abaixo prints utilizando a ferramenta Firebug.

Peguei o id do campo Nome do usuário que é "Email".

Aqui peguei o id do campo Senha que é "Passwd".

Aqui o id do botão Login que é "Signin".

Tutorial do Selenium JAVA utilizando a IDE Eclipse

Estrutura do Selenium Webdriver JAVA utilizando a IDE Eclipse

O endereço oficial do Selenium é http://docs.seleniumhq.org neste site você tem todas as Dlls e downloads para utilizar um dos produtos Selenium (IDE, RC e Webdriver).
Eu achei bem melhor a versão Webdriver onde você tem liberdade para programar toda a execução.
Para utilizarmos o Selenium Webdriver no Eclipse devemos primeiramente baixar as Dlls para que o Selenium funcione(Abaixo link para download).
Link: http://selenium.googlecode.com/files/selenium-java-2.33.0.zip
Após baixar o pacote, descompacte os arquivos e deixe salvo em um diretório fácil de se lembrar e utilizar, eu prefiro colocar no C:\ .
Abaixo imagem ilustrando o arquivo compactado ainda, deve-se copiar os dois arquivos que estão em amarelo e colar dentro da pasta libs onde contem o pacote completo para utilização do Selenium.


O Selenium por padrão utiliza o Browser Firefox para execução da automação, caso você prefira utilizar outro navegador, deve-se fazer o download do driver do navegador no site do selenium.
Driver IE - 32 bits http://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_Win32_2.33.0.zip
Driver IE - 64 bits http://code.google.com/p/selenium/downloads/detail?name=IEDriverServer_x64_2.33.0.zip
Driver Chrome - http://code.google.com/p/chromedriver/downloads/detail?name=chromedriver_win32_2.0.zip&can=2&q=

No meu C:\ crio uma pasta Selenium onde coloco o pacote java e os drivers


Agora no Eclipse para conseguirmos utilizar o Selenium precisamos importar os pacotes que salvamos no C:\Selenium
Primeiro criamos o projeto no meu caso vou fazer um exemplo acessando o meu Gmail, então vou criar o projeto chamado Gmail.

Agora com o Projeto Java criado vou importar o pacote.
Dentro do Configure Build Path clique na Aba Libraries e após no botão Add External JARs
Neste momento vamos acessar a pasta onde salvamos a pasta lib contendo o pacote Seleium JAVA e selecionaremos todos os arquivos e importamos.
Clique em abrir e após no botão OK.
Pronto agora o Eclipse já está preparado para reconhecer os comandos Seleneses.
Repare que no nosso projeto Gmail foi adicionado o Referenced Libraries



Selenium Webdriver JAVA e C#

Selenium Webdriver JAVA e C#

A pouco tempo venho estudando Selenium Webdriver, ferramenta poderosa para realizar testes automatizados e por ter fraca documentação na web resolvi escrever este post para compartilhar os conhecimentos que adquiri pesquisando. Vou abordar as duas linguagens de programação que utilizei nos meus estudos JAVA e C#.