Automatisering av webbapplikationstester med hjÀlp av Selenium nÄgot som Àr vanligt bland utvecklare av automatiserade tester, och C# en av de mest populÀra programmeringssprÄken, sÄ kombinationen av dessa verktyg vÀcker inga frÄgor. För utveckling med dessa teknologier anvÀnds ofta populÀr proprietÀr programvara frÄn Microsoft för Windows, men jag var nyfiken pÄ vilka fria alternativ som kan anvÀndas utan att avvika frÄn stapeln Selenium + C# för denna uppgift.
Eftersom jag inte hittade nÄgra artiklar pÄ ryska om detta Àmne, vill jag dela med mig av min erfarenhet av att stÀlla in en miljö för utveckling och felsökning av automatiserade tester i C# pÄ Linux.
Operativsystemet som anvÀndes var Kubuntu 18.04 64-bit med Linux-kÀrna 4.15.0-99-generic, installerat med en ISO-avbild som laddades ner frÄn . Jag tror att vilken modern och tillrÀckligt populÀr Linux-distribution som helst kommer att fungera.
CLR för C# var Mono JIT-kompilator version 6.6.0.166. Dess installation bestod av att successivt kopiera och utföra kommandon i terminalen (i Kubuntu Àr det Konsole) frÄn .
Och som IDE anvÀndes , installerad pÄ samma sÀtt som Mono.
Selenium stödjer mĂ„nga webblĂ€sare, men jag orkade inte och nöjde mig med Chromeâen, installerade .
DĂ€refter skapar vi ett projekt i MonoDevelop:
- öppnar MonoDevelop
- gÄr till menyn "Fil"
- vÀljer "Skapa projekt"
- trycker pÄ ".NET"
- vÀljer "NUnit-biblioteksprojekt" och trycker pÄ "NÀsta"
- anger namn och sökvÀg för projektet, trycker pÄ "Skapa"

För att styra webblÀsaren kommer ytterligare nÄgra NuGet-paket att behövas:
- gÄr till menyn "Projekt" och vÀljer "LÀgg till NuGet-paket"
- söker efter och installerar paketet Selenium.WebDriver
- söker efter och installerar paketet Selenium.WebDriver.ChromeDriver

Och det Àr allt, kvarstÄr att skriva lite kod för att kontrollera att allt Àr rÀtt instÀllt. NÀr projektet skapades, skapades automatiskt en fil för testmetoderna Test.cs, i den placerade jag följande kodlÀgg:
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"), "NÄgot Àr fel =(");
driver.Quit();
}
}
}Testet körs frÄn fliken "ModulÀra tester", om den inte visas gÄr vi till menyn "Visa" och vÀljer "Test".

Lyckad automation =)
KĂ€lla: habr.com
