Automatisering van het testen van webapplicaties met behulp van Selenium een gemeenschappelijke oplossing onder autotest-ontwikkelaars, en C# een van de meest populaire programmeertalen, dus de combinatie van deze tools roept geen vragen op. Om met behulp van deze technologieën te ontwikkelen, wordt vaak populaire propriëtaire software van Microsoft voor Windows gebruikt, maar ik was geïnteresseerd om te weten welke gratis analogen kunnen worden gebruikt zonder voor deze taak de Selenium + C#-stack te verlaten.
Omdat ik geen Russischtalige artikelen over dit onderwerp heb gevonden, deel ik mijn ervaringen met het opzetten van een omgeving voor het ontwikkelen en debuggen van autotests in C# op Linux.
Het gebruikte besturingssysteem was Kubuntu 18.04 64-bit met Linux-kernel 4.15.0-99-generiek, geïnstalleerd vanaf een ISO-image gedownload van
Mono JIT-compilerversie 6.6.0.166 fungeerde als een CLR voor C#. De installatie ervan bestond uit het opeenvolgend kopiëren en uitvoeren van opdrachten naar de terminal (in Kubuntu is dit Konsole) met
En gebruikt als IDE
Selenium ondersteunt veel browsers, maar ik was te lui om me overal mee bezig te houden en beperkte me daartoe Chrome'om, na installatie
Vervolgens creëren we een oplossing in MonoDevelop:
- start MonoDevelop
- ga naar het menu "Bestand".
- selecteer “Oplossing maken”
- klik op “.NET”
- selecteer "NUnit Bibliotheekproject" en klik op "Volgende"
- geef de naam en het pad van de oplossing aan, klik op "Maken"
Om de browser te besturen, heb je ook een aantal NuGet-pakketten nodig:
- ga naar het menu "Project" en selecteer "NuGet-pakketten toevoegen"
- zoek en installeer het Selenium.WebDriver-pakket
- zoek en installeer het Selenium.WebDriver.ChromeDriver-pakket
Dat is alles, het enige dat overblijft is het schrijven van code om te controleren of alles naar behoren is geconfigureerd. Bij het maken van een oplossing wordt automatisch een bestand voor testmethoden Test.cs aangemaakt, waarin ik de volgende paar regels code plaats:
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();
}
}
}
De test wordt gestart vanaf het tabblad “Unit Tests”; als deze niet wordt weergegeven, gaat u naar het menu “Beeld” en selecteert u “Test”.
Succesvolle automatisering =)
Bron: www.habr.com