Automação de testes de aplicações web usando Selênio uma solução comum entre desenvolvedores de autoteste e C# Sendo uma das linguagens de programação mais populares, a combinação dessas ferramentas é simples. Para o desenvolvimento com essas tecnologias, geralmente se utiliza software proprietário da Microsoft. WindowsNo entanto, fiquei interessado em saber quais análogos gratuitos podem ser usados sem sair da pilha Selenium + C# para essa tarefa.
Como não encontrei nenhum artigo em russo sobre este tópico, compartilharei minha experiência na configuração de um ambiente para desenvolvimento e depuração de testes automatizados em C#. Linux.
K foi usado como sistema operacional.ubuntu 18.04 64 bits com kernel Linux 4.15.0-99-generic, instalado a partir da imagem ISO baixada de Acredito que qualquer sistema de distribuição moderno e razoavelmente popular servirá. Linux.
O compilador Mono JIT versão 6.6.0.166 serviu como CLR para C#. Sua instalação consistia em copiar e executar comandos sequencialmente no terminal (em Kubuntu (isto é Konsole) com .
E usado como um IDE , instalado de forma semelhante ao Mono.
O Selenium suporta muitos navegadores, mas eu estava com preguiça de me preocupar com tudo e me limitei a Chrome'om, tendo instalado .
A seguir, criamos uma solução no MonoDevelop:
- lançar MonoDevelop
- vá para o menu "Arquivo"
- selecione “Criar solução”
- clique em “.NET”
- selecione “Projeto de biblioteca NUnit” e clique em “Avançar”
- indique o nome e caminho da solução, clique em “Criar”

Para controlar o navegador, você também precisará de alguns pacotes NuGet:
- vá ao menu "Projeto" e selecione "Adicionar pacotes NuGet"
- procure e instale o pacote Selenium.WebDriver
- procure e instale o pacote Selenium.WebDriver.ChromeDriver

Só isso, só falta escrever um código para verificar se tudo está configurado como deveria. Ao criar uma solução, é criado automaticamente um arquivo para métodos de teste Test.cs, no qual coloco 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"), "Что-то не так =(");
driver.Quit();
}
}
}O teste é iniciado a partir da aba “Testes Unitários”; caso não seja exibido, vá ao menu “Visualizar” e selecione “Teste”.

Automação bem-sucedida =)
Fonte: habr.com
