Selenium-Tests in C# unter Linux

Automatisierung von Webanwendungstests mithilfe von Selenium eine weit verbreitete Lösung unter Entwicklern von automatisierten Tests, und C# eine der beliebtesten Programmiersprachen, weshalb die Kombination dieser Werkzeuge keine Fragen aufwirft. FĂŒr die Entwicklung mit diesen Technologien wird hĂ€ufig beliebte proprietĂ€re Software von Microsoft fĂŒr Windows verwendet, jedoch war ich neugierig zu erfahren, welche freien Alternativen man verwenden kann, ohne vom Stack Selenium + C# fĂŒr diese Aufgabe abzuweichen.

Da ich keine russischsprachigen Artikel zu diesem Thema gefunden habe, möchte ich meine Erfahrungen bei der Einrichtung der Umgebung fĂŒr die Entwicklung und das Debugging von automatisierten Tests in C# unter Linux teilen.

Als Betriebssystem wurde Kubuntu 18.04 64-bit mit dem Linux-Kernel 4.15.0-99-generic verwendet, installiert von einem ISO-Abbild, das ich von der offiziellen Websitegeladen habe. Ich nehme an, jede moderne und ausreichend beliebte Linux-Distribution wird passen.

Der Mono JIT-Compiler der Version 6.6.0.166 diente als CLR fĂŒr C#. Die Installation bestand aus der sequenziellen Kopie und AusfĂŒhrung von Befehlen im Terminal (in Kubuntu ist dies die Konsole), auf dieser Seite.

Und als IDE wurde verwendet MonoDevelop 7.8.4 (Build 2), installiert Àhnlich wie Mono.

Selenium unterstĂŒtzt viele Browser, aber mir war zu faul, also beschrĂ€nkte ich mich auf Chrome’ unter Installation des 64-bit .deb-Pakets..

Als nÀchstes erstellen wir eine Lösung in MonoDevelop:

  • Wir starten MonoDevelop.
  • Gehen Sie zum MenĂŒ „Datei“
  • WĂ€hlen Sie „Lösung erstellen“
  • Klicken Sie auf „.NET“
  • WĂ€hlen Sie „NUnit-Bibliotheksprojekt“ und klicken Sie auf „Weiter“
  • Geben Sie den Namen und den Pfad der Lösung an, und klicken Sie auf „Erstellen“

Selenium-Tests in C# unter Linux

Um den Browser zu steuern, werden noch einige NuGet-Pakete benötigt:

  • Gehen Sie zum MenĂŒ „Projekt“ und wĂ€hlen Sie „NuGet-Pakete hinzufĂŒgen“
  • Suchen und installieren Sie das Paket Selenium.WebDriver
  • Suchen und installieren Sie das Paket Selenium.WebDriver.ChromeDriver

Selenium-Tests in C# unter Linux

So, eigentlich ist das alles, jetzt mĂŒssen wir nur noch etwas Code schreiben, um zu ĂŒberprĂŒfen, ob alles richtig eingerichtet wurde. Bei der Erstellung der Lösung wird automatisch eine Datei fĂŒr die Testmethoden Test.cs erstellt, in die ich die folgenden Zeilen Code eingefĂŒgt habe:

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"), "Etwas stimmt nicht =(");
            driver.Quit();
        }
    }
}

Der Test wird ĂŒber den Tab „Modultests“ gestartet. Wenn dieser nicht angezeigt wird, gehen Sie zum MenĂŒ „Ansicht“ und wĂ€hlen Sie „Test“.

Selenium-Tests in C# unter Linux

Erfolgreiche Automatisierung =)

Quelle: habr.com

60GB SSD 8Gb DDR4