Testes de Selenium em C# no Linux

Automatização de testes de aplicativos da web usando Selenium uma solução comum entre desenvolvedores de testes automatizados, e C# uma das linguagens de programação mais populares, portanto, a combinação dessas ferramentas não causa estranheza. Para o desenvolvimento com essas tecnologias, geralmente é usado um software proprietário popular da Microsoft para Windows, no entanto, fiquei curioso para saber quais alternativas gratuitas podem ser usadas sem sair do stack Selenium + C# para essa tarefa.

Como não encontrei artigos em russo sobre este assunto, vou compartilhar minha experiência na configuração do ambiente para o desenvolvimento e depuração de testes automatizados em C# no Linux.

O sistema operacional utilizado foi Kubuntu 18.04 64-bit com núcleo Linux 4.15.0-99-generic, instalado a partir de uma imagem ISO baixada de site oficial. Acredito que qualquer distribuição Linux moderna e suficientemente popular servirá.

O CLR para C# foi o compilador JIT Mono na versão 6.6.0.166. Sua instalação envolveu a cópia sequencial e execução de comandos no terminal (no Kubuntu, isso é o Konsole) a partir de desta página.

E como IDE foi utilizado MonoDevelop 7.8.4 (build 2), instalado da mesma maneira que o Mono.

O Selenium suporta vários navegadores, mas como eu estava com preguiça de testar todos, fiquei limitado ao Chromepara instalar o pacote .deb de 64 bits.

Em seguida, criamos uma solução no MonoDevelop:

  • abrimos o MonoDevelop
  • vamos ao menu 'Arquivo'
  • selecionamos 'Criar solução'
  • clicamos em '.NET'
  • escolhemos 'Projeto de biblioteca NUnit' e clicamos em 'Próximo'
  • especificamos o nome e o caminho da solução, clicamos em 'Criar'

Testes de Selenium em C# no Linux

Para controlar o navegador, será necessário instalar alguns pacotes NuGet:

  • vamos ao menu 'Projeto' e escolhemos 'Adicionar pacotes NuGet'
  • procuramos e instalamos o pacote Selenium.WebDriver
  • procuramos e instalamos o pacote Selenium.WebDriver.ChromeDriver

Testes de Selenium em C# no Linux

E é isso, só resta escrever algum código para verificar se tudo foi configurado corretamente. Ao criar a solução, um arquivo para os métodos de teste Test.cs é gerado automaticamente, e nele coloquei as seguintes linhas 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 está errado =(");
            driver.Quit();
        }
    }
}

A execução do teste é feita na aba 'Testes de Módulo'; se ela não aparecer, vamos ao menu 'Visualizar' e escolhemos 'Teste'.

Testes de Selenium em C# no Linux

Automação bem-sucedida =)

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster