Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Selenium GRID

Execução distribuída de testes.
by

Placido Segundo

on 31 October 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Selenium GRID

Selenium GRID Notes Time Servers Time Servers Primeiro Passo: { Fazer o download da versão mais recente do Selenium-Server-Standalone Segundo Passo: { Configurar as máquinas que farão o papel de "nó" na GRID. (S.O., rede, ip, browser's, etc..) Terceiro Passo: { Preparar as classes de teste para que sejam executadas em paralelo. Quarto Passo: { Na máquina principal:
java -jar selenium-server-standalone-2.19.0.jar -role hub Executar o Comando.. Quinto Passo: { Em cada máquina node: Executar Comandos.. Configurações Iniciais Configurações Iniciais Configurações Básicas Server HUB node
1 node
2 node
3 GRID Windows
Virtual
node Ubuntu
Virtual
node Mac OS
Virtual
node Firefox IE Chrome Opera HtmlUnit O Hub aloca Instâncias do WebDriver para cada teste;
Depois encaminha os pedidos "seleneses" dos testes para cada nó apropriado;
Ao iniciar um novo teste, o Hub coloca seu primeiro pedido em espera e assim que um nó adequado tornar-se disponível, o Hub irá servir o pedido.
Durante todo o processo, os teste não ficam cientes do que acontece dentro da GRID , apenas aguardam uma resposta Http de retorno. java -jar selenium-server-standalone-2.19.0.jar -role webdriver -hub http://IPDoHostPrincipal:4444/grid/register -port 5555 Após executar todos os comandos necessários via terminal,
podemos gerenciar visualmente a GRID acessando:
localhost:4444/grid/console
Nesta página pode-se visualizar as configurações do Hub e seus nodes como:
endereço
ip
porta O Selenium WebDriver provou ser uma ótima ferramenta para auxiliar os testes em sistemas web.
O analista de teste ganha mais liberdade em escrever sua classe de teste.
Preocupa-se cada vez mais em automatizar suas rotinas de teste.
Porém a medida que o número de testes aumenta, o tempo total de execução também aumenta, e muito. A meneira de conseguir contornar esta situação é através do uso do Selenium GRID.
O Selenium Grid atua como um proxy entre as requisições dos clientes e um pool de servidores WebDriver's. Com isso, o grid consegue gerenciar ao mesmo tempo todos as instancias do WebDriver que estão conectadas.
O benefício disso tudo é que você pode paralelizar a execução dos seus testes e consequentemente o tempo total de execução dos seus testes diminui drasticamente. Ao distribuir as execuções dos testes entre vários servidores paralelos, podemos reduzir drasticamente o tempo de execução total dos testes. Em contra-partida, os testes sequenciais além de consumirem um elevado custo de tempo, consomem também muito processamento da máquina na qual os testes estejam rodando. Componentes Passo-a-passo HUB Responsável por alocar cada node na rede(grid) e determinar qual script de teste será executado em cada instância do WebDriver. node Representa cada nó na rede, ou seja cada máquina(virtual ou física) que será encarregada de executar um ou mais scripts. No Selenium Grid temos duas partes importantes: O Selenium Hub, que vai responder aos comandos do selenium emitidos pela sua aplicação, e delegá-los para algum dos Nodes, que executarão os mesmos no selenium de verdade. Configurando as classes
de teste... Capacidade @Before
public void setUp() {

// capacidade para executar o teste em um hub
String PROXY = "proxy.remanso.biz:3128";
Proxy proxy = new Proxy();
proxy.setFtpProxy( PROXY ).setHttpProxy( PROXY ).setSslProxy( PROXY );

DesiredCapabilities capability = DesiredCapabilities.firefox();
capability.setPlatform( Platform.LINUX );
capability.setBrowserName( "firefox" );
capability.setVersion( "7.0.1" );
capability.setCapability( CapabilityType.PROXY, proxy );

try {
driver = new RemoteWebDriver( new URL( "http://10.2.99.56:5558/wd/hub" ), capability );
} catch ( MalformedURLException e ) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Full transcript