Pruebas de Selenium en C# en Linux

Automatización de pruebas de aplicaciones web utilizando Selenium es una solución común entre los desarrolladores de pruebas automatizadas, y C# es uno de los lenguajes de programación más populares, por lo que la combinación de estas herramientas no plantea dudas. Para el desarrollo utilizando estas tecnologías, a menudo se utiliza un popular software propietario de Microsoft para Windows, sin embargo, me interesaba saber qué alternativas libres se pueden usar sin alejarse del stack Selenium + C# para esta tarea.

Dado que no encontré artículos en ruso sobre este tema, compartiré mi experiencia en la configuración del entorno para el desarrollo y la depuración de pruebas automatizadas en C# en Linux.

Se utilizó como sistema operativo Kubuntu 18.04 de 64 bits con núcleo Linux 4.15.0-99-generic, instalado desde una imagen ISO descargada de el sitio oficial. Supongo que cualquier distribución de Linux moderna y bastante popular sería adecuada.

El compilador JIT Mono para C# fue la versión 6.6.0.166. Su instalación consistió en copiar y ejecutar comandos en la terminal (en Kubuntu esto es Konsole) desde esta página.

Y como IDE se utilizó MonoDevelop 7.8.4 (build 2), instalado de manera similar a Mono.

Selenium soporta múltiples navegadores, pero me dio pereza y me limité a Chrome’s, instalando el paquete .deb de 64 bits.

A continuación, creamos una solución en MonoDevelop:

  • abrimos MonoDevelop
  • vamos al menú "Archivo"
  • elegimos "Crear solución"
  • hacemos clic en ".NET"
  • elegimos "Proyecto de biblioteca NUnit" y hacemos clic en "Siguiente"
  • especificamos el nombre y la ruta de la solución, hacemos clic en "Crear"

Pruebas de Selenium en C# en Linux

Para controlar el navegador, se necesitarán un par de paquetes NuGet más:

  • vamos al menú "Proyecto" y elegimos "Agregar paquetes NuGet"
  • buscamos e instalamos el paquete Selenium.WebDriver
  • buscamos e instalamos el paquete Selenium.WebDriver.ChromeDriver

Pruebas de Selenium en C# en Linux

Eso es todo, queda escribir algún código para verificar que todo está configurado correctamente. Al crear la solución, se crea automáticamente un archivo para los métodos de prueba Test.cs, en el que coloqué las siguientes líneas de código:

using NUnit.Framework;
using System;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium;

namespace SeleniumTests
{
    [TestFixture()]
    public class Test
    {
        [Test()]
        public void TestCase()
        {
            IWebDriver driver = new ChromeDriver();
            driver.Navigate().GoToUrl("http://habr.com/");
            Assert.IsTrue(driver.Url.Contains("habr.com"), "Algo no está bien =(");
            driver.Quit();
        }
    }
}

La ejecución de la prueba se lleva a cabo desde la pestaña "Pruebas de módulo"; si no se muestra, vamos al menú "Ver" y elegimos "Prueba".

Pruebas de Selenium en C# en Linux

Automatización exitosa =)

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster