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 geladen 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), .
Und als IDE wurde verwendet , installiert Àhnlich wie Mono.
Selenium unterstĂŒtzt viele Browser, aber mir war zu faul, also beschrĂ€nkte ich mich auf Chromeâ unter Installation .
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â

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

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â.

Erfolgreiche Automatisierung =)
Quelle: habr.com
