Automatisering af webapplikationstest vha Selen en fælles løsning blandt autotestudviklere, og C# et af de mest populære programmeringssprog, så kombinationen af disse værktøjer rejser ingen spørgsmål. For at udvikle ved hjælp af disse teknologier bruges ofte populær proprietær software fra Microsoft til Windows, men jeg var interesseret i at vide, hvilke gratis analoger der kan bruges uden at afvige fra Selenium + C#-stakken til denne opgave.
Da jeg ikke har fundet nogen russisksprogede artikler om dette emne, vil jeg dele min erfaring med at opsætte et miljø til udvikling og fejlfinding af autotest i C# på Linux.
Det anvendte operativsystem var Kubuntu 18.04 64-bit med Linux-kerne 4.15.0-99-generisk, installeret fra et ISO-billede downloadet fra
Mono JIT compiler version 6.6.0.166 fungerede som en CLR for C#. Dens installation bestod af sekventiel kopiering og udførelse af kommandoer ind i terminalen (i Kubuntu er dette Konsole) med
Og bruges som IDE
Selen understøtter mange browsere, men jeg var for doven til at bøvle med alting og begrænsede mig til Chrome'om, efter at have installeret
Dernæst laver vi en løsning i MonoDevelop:
- lancere MonoDevelop
- gå til menuen "Filer".
- vælg "Opret løsning"
- klik på ".NET"
- vælg "NUnit Library Project" og klik på "Next"
- angiv navnet og stien til løsningen, klik på "Opret"
For at styre browseren skal du også bruge et par NuGet-pakker:
- gå til menuen "Projekt" og vælg "Tilføj NuGet-pakker"
- se efter og installer Selenium.WebDriver-pakken
- se efter og installer Selenium.WebDriver.ChromeDriver-pakken
Det er alt, hvad der er tilbage er at skrive noget kode for at kontrollere, at alt er konfigureret, som det skal. Ved oprettelse af en løsning oprettes der automatisk en fil til testmetoder Test.cs, hvori jeg lægger følgende par linjer 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 fanen "Enhedstests"; hvis den ikke vises, skal du gå til menuen "Vis" og vælge "Test".
Succesfuld automatisering =)
Kilde: www.habr.com