Selenium-Tests mit C# unter Linux.

Automatisierung von Webanwendungstests mit Hilfe von Selenium ist eine gängige Lösung unter Entwicklern von automatisierten Tests, und C# ist eine der populärsten Programmiersprachen. Daher ist die Kombination dieser Werkzeuge nachvollziehbar. Für die Entwicklung mit diesen Technologien wird häufig die beliebte proprietäre Software von Microsoft für Windows verwendet. Mich hat jedoch interessiert, welche freien Alternativen ich nutzen kann, ohne vom Selenium + C# Stack für diese Aufgabe abzuweichen.

Da ich keine russischsprachigen Artikel zu diesem Thema gefunden habe, teile ich meine Erfahrungen zur Einrichtung der Entwicklungs- und Debugging-Umgebung für automatisierte Tests in C# unter Linux.

Als Betriebssystem kam Kubuntu 18.04 64-Bit mit dem Linux-Kernel 4.15.0-99-generic zum Einsatz, das von einem ISO-Image installiert wurde, das ich von der offiziellen Webseiteheruntergeladen habe. Ich denke, dass jede moderne und ausreichend beliebte Linux-Distribution geeignet ist.

Der CLR für C# wurde durch den Mono JIT-Compiler in der Version 6.6.0.166 bereitgestellt. Seine Installation bestand aus der sequentiellen Kopie und Ausführung von Befehlen im Terminal (in Kubuntu ist das Konsole) von dieser Seite.

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

Selenium unterstützt eine Vielzahl von Browsern, aber ich hatte keine Lust und habe es auf Chromebeschränkt, indem ich das 64-Bit .deb-Paket.

Jetzt erstellen wir ein Projekt in MonoDevelop:

  • wir starten MonoDevelop
  • wir gehen ins Menü 'Datei'
  • wählen 'Neues Projekt'
  • klicken auf '.NET'
  • wählen 'NUnit-Bibliotheksprojekt' und klicken auf 'Weiter'
  • geben einen Namen und den Speicherort des Projekts an, klicken auf 'Erstellen'

Selenium-Tests mit C# unter Linux.

Für die Browsersteuerung benötigen wir noch einige NuGet-Pakete:

  • gehen ins Menü 'Projekt' und wählen 'Pakete NuGet hinzufügen'
  • suchen und installieren das Paket Selenium.WebDriver
  • suchen und installieren das Paket Selenium.WebDriver.ChromeDriver

Selenium-Tests mit C# unter Linux.

So, das wäre es. Jetzt müssen wir nur noch etwas Code schreiben, um sicherzustellen, dass alles richtig eingerichtet ist. Bei der Erstellung des Projekts 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. Falls dieser nicht angezeigt wird, gehen Sie ins Menü 'Ansicht' und wählen 'Test'.

Selenium-Tests mit C# unter Linux.

Erfolgreiche Automatisierung =)

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster