estao os arquivos que voce fezdownload, selecione todos e clique em "Abrir". Depois clique em "OK".Pronto, voce ja pode comecar a gerar seus codigos de testes!A partir de agora comecaremos o nossoteste. Neste exemplo vamos mostrar passo a passo como criamos um teste paraverificar a interface de autenticacao do nosso sistema.public class LoginTest { @Test public void loginTest() { WebDriver driver = new FirefoxDriver(); driver.get("localhost:8080/elsa/login"); }}Inicialmentenosso teste nao verifica nada, apesar de ficar com a barra verde ele apenasabre uma janela do Firefox com o endereco do nosso servidor de testes.Roubamos... mas precisamos partir de algum lugar!Aposverificar que a janela do navegador abriu corretamente a tela de autenticacao dosistema vamos tentar realizar a autenticacao.public class LoginTest { @Test public void loginTest() { WebDriver driver = new FirefoxDriver(); driver.get("localhost:8080/elsa/login"); driver.findElement(By.id("username")).sendKeys("usuario"); driver.findElement(By.id("password")).sendKeys("senha"); driver.findElement(By.id("loginButton")).click(); }}Como WebDriver buscamos pelos elementosexibidos na tela atraves dos seus identificadores e inserimos os valoresdesejados para usuario e senha. Alem de buscar pelos elementos da pagina porseus ids tambem e possivel buscarpelo nome da tag, do name, do link e ate mesmo do estilo CSS aplicado ao elemento.Apartir daqui nos damos conta que em qualquer teste do nosso sistema teremos quepassar pela tela de login, entao podemos utilizar o padrao chamado de PageObjects. Para tanto, criamos uma classe chamada LoginPage que inicialmente teraum metodo que fara login no sistema.public class LoginPage { public void login(WebDriver driver){ driver.findElement(By.id("username")).sendKeys("usuario"); driver.findElement(By.id("password")).sendKeys("senha"); driver.findElement(By.id("loginButton")).click(); }}Eagora sim podemos realizar nosso teste, na classe LoginTest.public class LoginTest { public LoginPage loginPage; public WebDriver driver; @Before public void setup() { loginPage = new LoginPage(); driver = new FirefoxDriver(); driver.get("localhost:8080/elsa/login"); } @Test public void loginTest() { loginPage.login(driver); String welcomeMessage = driver.findElement( By.xpath("/html/body/div/div[4]/div/ul/li/span")).getText(); assertEquals("Bem vindo ao Prontuario Eletronico Online do ELSA.", welcomeMessage); }}Aqui ja passamos a instanciarLoginPage e o WebDriver no metodo setupque esta anotado com @Before e, destaforma, e executado sempre antes de cada metodo anotado com @Test. Alem disso, buscamos o valor da mensagem de boas vindasatraves do metodo findElement eutilizamos como parametro a busca de um elemento presente na pagina pelo xpath correspondente. Finalmente,fizemos uma assercao para garantir que a mensagem que aparece e a esperada.Agora que nosso teste estapronto executamos esperando a barra verde que instantaneamente fica vermelha,informando que o nosso teste falhou. Aqui vale uma breve explicacao. Comoestamos trabalhando com ambiente web, devemos saber que nem sempre a resposta eimediata para as requisicoes feitas para os servidores onde estao asaplicacoes. Entao o melhor a ser feito para contornarmos o problema eimplementarmos uma condicao esperada de parada com um timeout, desta maneira o teste pode ser executado com mais confiabilidade.Para tanto, sera necessariosfazer algumas mudancas no metodo loginTest.@Testpublic void loginTest() { loginPage.login(driver); ExpectedCondition<Boolean> expectedCondition = new ExpectedCondition<Boolean>() { public Boolean apply(WebDriver webDriver) { webDriver.findElement(By.xpath("/html/body/div/div[4]/div/ul/li/span")); return true; } }; Wait<WebDriver> wait = new WebDriverWait(driver, 15); wait.until(expectedCondition); String welcomeMessage = driver.findElement( By.xpath("/html/body/div/div[4]/div/ul/li/span")).getText(); assertEquals("Bem vindo ao Prontuario Eletronico Online do ELSA.", welcomeMessage);}Agorasim, nosso teste e executado e temos a barra verde!Basicamenteimplementamos a condicao de parada esperada que, neste caso, e o surgimento dapropria mensagem de boas vindas do sistema. Depois, instanciamos o wait com o nosso driver e um timeout