Dojo Selenium Grid

Passo 4 - Criando uma grid

https://github.com/SeleniumHQ/selenium/wiki/Grid2

A criação inicial de um grid, basicamente, é a execução do selenium-server de dois modos:

Criação do hub

Basta executar a seguinte linha de comando no seu Prompt de Comando/Terminal. Lembrando estar no diretório onde o arquivo do selenium-server está.

java -jar selenium-server-standalone-X.X.X.jar -role hub

Note que há um parâmetro -role indicando que estamos iniciando o selenium-server em modo hub (controlador).

Algumas informações irão aparecer no console. No final das informações deve aparecer um texto como este:

HH:mm:ss.SSS INFO - Selenium Grid hub is up and running

Para verificar se tudo está certo acesse a seguinte URL http://localhost:4444/grid/console

Criação do nó

Como estamos em caráter educativo nosso mesmo hub será o mesmo node, em resumo: a mesma máquina que irá controlar o teste será a mesma que irá executará o teste.

Basta executar a seguinte linha de comando no seu Prompt de Comando/Terminal. Lembrando estar no diretório onde o arquivo do selenium-server está.

java -jar selenium-server-standalone-3.9.1.jar -role node  -hub http://localhost:4444/grid/register

Note que há um parâmetro -hub indicando a URL de conexão ao hub e o parâmetro -role iniciando o selenium-serve em modo node (executor).

Alteração no BaseTest

Nossa classe base agora precisa mudar. Como o teste pode ser uma máquina remota é necessário:

Mudar a instiancia do browser

Será necessário agora usar a classe RemoteWebDriver para gerenciar o browser. Esta classe espera dois parâmetros:

A capacidade é indicada pela classe DesiredCapabilities

// para iniciar o GoogleChrome
DesiredCapabilities = desiredCapabilities = DesiredCapabilities.chrome();

// para iniciar o Firefox
DesiredCapabilities = desiredCapabilities = DesiredCapabilities.firefox();

Refatoração necessária

Agora é hora de refatorar a clase BaseTest inserindo o retorno de uma DesiredCapability ao invés da instância do browser.

E depois, usar a capacidade retornada para iniciar o browser.

A nova inicialização ficará como o código abaixo:

WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), desiredCapability);
< Voltar Lista de passos Avançar >