terça-feira, 26 de janeiro de 2016

Teste unitário com Selenium WebDriver (Simples exemplo com o Chrome e Firefox)

O vídeo(Selenium WebDriver - Install + Hello World with Visual Studio, C#)  é um ótimo passo a passo de como utilizar o Selenium Webdriver com uma aplicação c#.

Para demonstrar, adicionei ao GitHub um simples exemplo de teste unitário fazendo uma busca no Bing utilizando Chrome e Firefox.

As dependências dos projeto foram instaladas com o Nuget utilizando os seguintes comandos:
Install-Package Selenium.WebDriver
(Pacote básico para permitir o Selenium Webdriver e o firefox)

Install-Package Selenium.WebDriver.ChromeDriver
(Pacote para permitir os testes com o Chrome)

O código acontece no método SearchAndNavigateTest, que basicamente abre a url do Bing, busca pela palavra chave "aplicacoesweb selenium" e clica no primeiro link que contiver "aplicacoesweb.blogspot" no atribute href.

private static void SearchAndNavigateTest(IWebDriver driver)
{
try
{
driver.Navigate().GoToUrl("http://www.bing.com/");
driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(30));
IWebElement searchInput = driver.FindElement(By.Id("sb_form_q"));
searchInput.SendKeys("aplicacoesweb selenium");
searchInput.SendKeys(Keys.Return);
IWebElement webSiteAnchor = driver.FindElement(By.XPath(("//a[contains(@href,\"aplicacoesweb.blogspot\")]")));
webSiteAnchor.Click();
}
finally
{
driver.Close();
}
}
Este código é executado no FireFox e no Chrome no teste unitário TestMethod1()