Automatisera webbapplikationstestning med Selen en vanlig lösning bland autotestutvecklare, och C# ett av de mest populära programmeringsspråken, så kombinationen av dessa verktyg väcker inga frågor. För utveckling med dessa tekniker används ofta populär proprietär programvara från Microsoft för Windows, men jag var intresserad av att veta vilka gratis analoger som kan användas utan att avvika från Selenium + C#-stacken för denna uppgift.
Eftersom jag inte hittade några ryskspråkiga artiklar om detta ämne kommer jag att dela med mig av min erfarenhet av att sätta upp en miljö för att utveckla och felsöka autotester i C# på Linux.
OS var Kubuntu 18.04 64-bitars med Linux-kärnan 4.15.0-99-generic, installerat från ISO-avbildningen som laddades ner från
CLR för C# var Mono JIT-kompilatorversionen 6.6.0.166. Dess installation bestod i att successivt kopiera och köra kommandon till terminalen (i Kubuntu är detta Konsole) med
Och som en IDE används
Selenium stöder många webbläsare, men jag var för lat och begränsade mig till krom'ohm, inställning
Därefter skapar vi en lösning i MonoDevelop:
- lansera MonoDevelop
- gå till menyn "Arkiv".
- välj "Skapa lösning"
- klicka på ".NET"
- välj "NUnit Library Project" och klicka på "Nästa"
- ange namnet och sökvägen till lösningen, klicka på "Skapa"
Du behöver också ett par NuGet-paket för att styra webbläsaren:
- gå till menyn "Projekt" och välj "Lägg till NuGet-paket"
- sök efter och installera paketet Selenium.WebDriver
- sök efter och installera paketet Selenium.WebDriver.ChromeDriver
Det är faktiskt allt, det återstår att skriva lite kod för att kontrollera att allt är inställt som det ska. När du skapar en lösning skapas automatiskt en fil för testmetoder Test.cs, jag lägger följande rader kod i den:
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();
}
}
}
Testet startas från fliken "Enhetstester", om det inte visas, gå till menyn "Visa" och välj "Test".
Lyckad automatisering =)
Källa: will.com