Selenium-Tests auf C# unter Linux

Automatisierung des Testens von Webanwendungen mithilfe von Selenium eine gängige Lösung unter Autotest-Entwicklern und C# eine der beliebtesten Programmiersprachen, daher wirft die Kombination dieser Tools keine Fragen auf. Um mit diesen Technologien zu entwickeln, wird häufig beliebte proprietäre Software von Microsoft für Windows verwendet, aber ich wollte wissen, welche kostenlosen Analoga für diese Aufgabe verwendet werden können, ohne vom Selenium + C#-Stack abzuweichen.

Da ich zu diesem Thema keine russischsprachigen Artikel gefunden habe, teile ich meine Erfahrungen beim Einrichten einer Umgebung zum Entwickeln und Debuggen von Autotests in C# unter Linux.

Das verwendete Betriebssystem war Kubuntu 18.04 64-Bit mit Linux-Kernel 4.15.0-99-generic, installiert von einem ISO-Image, das von heruntergeladen wurde offizielle Seite. Ich glaube, dass jede moderne und ziemlich beliebte Linux-Distribution ausreichen wird.

Der Mono-JIT-Compiler Version 6.6.0.166 fungierte als CLR für C#. Die Installation bestand aus dem sequentiellen Kopieren und Ausführen von Befehlen in das Terminal (in Kubuntu ist dies Konsole) mit diese Seite.

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

Selenium unterstützt viele Browser, aber ich war zu faul, mich um alles zu kümmern und habe mich darauf beschränkt Chrome'om, installiert 64-Bit-.deb-Paket.

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

  • Starten Sie MonoDevelop
  • Gehen Sie zum Menü „Datei“.
  • Wählen Sie „Lösung erstellen“
  • Klicken Sie auf „.NET“
  • Wählen Sie „NUnit Library Project“ und klicken Sie auf „Weiter“
  • Geben Sie den Namen und den Pfad der Lösung an und klicken Sie auf „Erstellen“.

Selenium-Tests auf C# unter Linux

Um den Browser zu steuern, benötigen Sie außerdem einige NuGet-Pakete:

  • Gehen Sie zum Menü „Projekt“ und wählen Sie „NuGet-Pakete hinzufügen“
  • Suchen Sie nach dem Selenium.WebDriver-Paket und installieren Sie es
  • Suchen Sie nach dem Paket Selenium.WebDriver.ChromeDriver und installieren Sie es

Selenium-Tests auf C# unter Linux

Das ist alles, es bleibt nur noch etwas Code zu schreiben, um zu überprüfen, ob alles so konfiguriert ist, wie es sollte. Beim Erstellen einer Lösung wird automatisch eine Datei für Testmethoden Test.cs erstellt, in die ich die folgenden paar Codezeilen 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"), "Что-то не так =(");
            driver.Quit();
        }
    }
}

Der Test wird über die Registerkarte „Unit Tests“ gestartet. Wenn er nicht angezeigt wird, gehen Sie zum Menü „Ansicht“ und wählen Sie „Test“.

Selenium-Tests auf C# unter Linux

Erfolgreiche Automatisierung =)

Source: habr.com

Kommentar hinzufügen