14.2.2 Agregando el proyecto de pruebas de usuario
Agregamos un proyecto de Pruebas, ahora será NUnit, los 3 (NUnit, XUnit, MSTest) manejan los mismos conceptos, solo cambia poco la sintaxis.
Tecleamos el nombre CaducaRest.UITest
Agregamos los siguientes paquetes:
Install-Package Selenium.WebDriver
Agregamos el navegador chrome
Install-Package Selenium.WebDriver.ChromeDriver
Con este paquete podemos acceder a elementos como combos (select en html)
Install-Package Selenium.Support
Modificamos la prueba por lo siguiente, primero indicamos que será un navegador de Chrome, luego indicamos que deseamos ir a la página de google.com
Los pasos que una persona realizaría son:
Abrir el navegador
Ir a la página de www.google.com
Puedes comprobar que estas en la página de Google viendo su logo. Si inspeccionas la imagen ves que su id es hplogo y que tiene un atributo llamado Google

El código de la prueba sería el siguiente. Renombra el archivo UnitTest1 por GoogleTest
public class Tests : IDisposable
{
private IWebDriver _driver;
[SetUp]
public void Setup()
{
_driver = new ChromeDriver();
}
[Test]
public void TestGoogle()
{
_driver.Navigate().GoToUrl("http://www.google.com");
Assert.That("Google Search",
Is.EqualTo(_driver.FindElement(By.Name("btnK")).GetAttribute("value")));
}
public void Dispose()
{
_driver.Quit();
_driver.Dispose();
}
}
Si corremos la prueba vemos que se abre una ventana de Chrome y se cambia a la página de www.google.com con una advertencia de que un software de prueba está controlando Chrome

Agregando Screenshots
Puedes tomar screenshoots de la página que estas probando por ejemplo si ocurrió algún error en la prueba, al terminar la prueba, puedes integrar la prueba a AzureDevOps y el screenshoot se agregará como Attachment, la configuración de las pruebas se verá mas adelante.
Agrega el siguiente código para tomar un ScreenShot
public void TakeScreenShoot()
{
var screenImage = System.IO.Path.Combine
(TestContext.CurrentContext.TestDirectory,
Guid.NewGuid().ToString() + ".png");
((ITakesScreenshot)_driver).GetScreenshot()
.SaveAsFile(screenImage, ScreenshotImageFormat.Png);
//Agrega la imagen al contexto de la prueba para que sea
//mostrada posteriormente como attachment
//en Azure DevOps
TestContext.AddTestAttachment(screenImage);
}
Una vez que configuras la integración continua en Azure DevOps queda de la siguiente manera, esto se verá mas adelante ya que las pruebas con selenium se deben ejecutar después del release. A continuación se muestra el lugar donde se guardan las imágenes en Azure Devops

Last updated
Was this helpful?