Automatisering av nettapplikasjonstesting vha Selen en vanlig løsning blant autotestutviklere, og C# et av de mest populære programmeringsspråkene, så kombinasjonen av disse verktøyene reiser ingen spørsmål. For å utvikle ved hjelp av disse teknologiene brukes ofte populær proprietær programvare fra Microsoft for Windows, men jeg var interessert i å vite hvilke gratis analoger som kan brukes uten å avvike fra Selenium + C#-stakken for denne oppgaven.
Siden jeg ikke har funnet noen russiskspråklige artikler om dette emnet, vil jeg dele min erfaring med å sette opp et miljø for utvikling og feilsøking av autotester i C# på Linux.
Operativsystemet som ble brukt var Kubuntu 18.04 64-bit med Linux-kjerne 4.15.0-99-generisk, installert fra et ISO-bilde lastet ned fra
Mono JIT-kompilatorversjon 6.6.0.166 fungerte som en CLR for C#. Installasjonen besto av sekvensiell kopiering og utførelse av kommandoer inn i terminalen (i Kubuntu er dette Konsole) med
Og brukes som en IDE
Selenium støtter mange nettlesere, men jeg var for lat til å bry meg med alt og begrenset meg til Chrome'om, etter å ha installert
Deretter lager vi en løsning i MonoDevelop:
- lanser MonoDevelop
- gå til "Fil"-menyen
- velg "Lag løsning"
- klikk ".NET"
- velg "NUnit Library Project" og klikk "Next"
- angi navnet og banen til løsningen, klikk på "Opprett"
For å kontrollere nettleseren trenger du også et par NuGet-pakker:
- gå til "Prosjekt"-menyen og velg "Legg til NuGet-pakker"
- se etter og installer Selenium.WebDriver-pakken
- se etter og installer Selenium.WebDriver.ChromeDriver-pakken
Det er alt, alt som gjenstår er å skrive litt kode for å sjekke at alt er konfigurert som det skal. Når du lager en løsning, opprettes det automatisk en fil for testmetoder Test.cs, der jeg legger inn følgende få linjer med kode:
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();
}
}
}
Testen startes fra "Unit Tests"-fanen; hvis den ikke vises, gå til "View"-menyen og velg "Test".
Vellykket automatisering =)
Kilde: www.habr.com