Neste desafio, tente criar um script que some os dois valores e os inclua na caixa de texto. O resultado tem que ser o texto 'Correto'

Agora é hora de compatilhar as respostas dos nossos colaboradores!!!
Tivemos várias respostas de várias formas possíveis (certo, era pra ser no Selenium IDE) e abaixo segue a lista de coleboradores


Resposta padrão!

Aqui segue a resposta padrão com o Selenium IDE.
Como vocês podem visualizar no script abaixo a solução foi usar o comando storeText para guardar o valor dos números.
Pegamos o número através do ID da label deles (um chama number1 e o outro number2), depois usamos o comando storeEval para poder fazer a soma das duas variáveis.

Download do script (clique com o botão direito e selecione 'Salvar como...')

Vídeo Explicativo

Soluções de outros colaboradores

O código abaixo foi escrito em Java utilizando o JUnit como suporte ao assertEquals
Os imports foram ignorados. Visualize o código completo neste link (clique com o botão direito e selecione 'Salvar como...')

			  		driver.get("http://eliasnogueira.com/arquivos_blog/selenium/desafio/1desafio/");
		
					// pega os dos valores na tela e guarda em uma variável
					String valor1 = driver.findElement(By.id("number1")).getText();
					String valor2 = driver.findElement(By.id("number2")).getText();
					
					// transforma os resultados em um número inteiro para a soma
					int resultadoInt = Integer.parseInt(valor1) + Integer.parseInt(valor2);
					
					// envia o número somado, transformando em string
					driver.findElement(By.name("soma")).sendKeys(String.valueOf(resultadoInt));
					driver.findElement(By.name("submit")).click();
					
					assertEquals("CORRETO", driver.findElement(By.id("resultado")).getText());
			  	

O Felipe optou por fazer a lógica e inserção do valor somado em apenas um passo, utilizando diretamente javascript através do comando runScript

O que ele faz, basicamente, é pegar os elementos via DOM pelo seu ID e somá-los, colocando diretamente o resultado no campo soma

Parabéns Felipe, este tipo de passo é bem difícil de ser inserido mas pra nós automatizadores é bom em relação a manutenção -:) (minha opinião)

Download do script (clique com o botão direito e selecione 'Salvar como...')

New Test
open /arquivos_blog/selenium/desafio/soma.php
runScript document.getElementsByName("soma")[0].value = parseInt(document.getElementById("number1").innerHTML.trim())+parseInt(document.getElementById("number2").innerHTML.trim());
clickAndWait submit
assertTextPresent CORRETO

O Rogério optou também pelo comando storeEval, porém utilizou storedVars que é um comando de javascript do Selenium para fazer as somas das duas variáveis.

Download do script (clique com o botão direito e selecione 'Salvar como...')

Soma
open /arquivos_blog/selenium/desafio/soma.php
storeText //label[@id='number1'] number1
storeText //label[@id='number2'] number2
storeEval parseInt(storedVars['number1'])+parseInt(storedVars['number2']) soma
type //input[@name='soma'] ${soma}
clickAndWait submit
verifyTextPresent CORRETO
D