Webes alkalmazások tesztelésének automatizálása Szelén gyakori megoldás az autoteszt fejlesztők körében, ill C# az egyik legnépszerűbb programozási nyelv, így ezen eszközök kombinációja nem vet fel kérdéseket. E technológiák felhasználásával történő fejlesztéshez gyakran használják a Microsoft Windows rendszerhez készült népszerű szabadalmaztatott szoftvereit, de érdekelt, hogy milyen ingyenes analógok használhatók anélkül, hogy eltérnénk a Selenium + C# veremtől.
Mivel nem találtam orosz nyelvű cikket ebben a témában, megosztom tapasztalataimat a Linux C# nyelvű automatikus tesztek fejlesztésére és hibakeresésére szolgáló környezet létrehozásáról.
A használt operációs rendszer a Kubuntu 18.04 64 bites Linux kernellel 4.15.0-99-generic, a webhelyről letöltött ISO képből telepítve
A Mono JIT fordító 6.6.0.166-os verziója a C# CLR-jeként működött. A telepítése a parancsok szekvenciális másolásából és végrehajtásából állt a terminálba (a Kubuntuban ez a Konsole)
És IDE-ként használják
A Selenium sok böngészőt támogat, de lusta voltam mindennel foglalkozni, és erre korlátoztam magam króm'om, miután telepítette
Ezután létrehozunk egy megoldást a MonoDevelopban:
- indítsa el a MonoDevelop programot
- lépjen a "Fájl" menübe
- válassza a "Megoldás létrehozása" lehetőséget
- kattintson a „.NET” gombra
- válassza a „NUnit Library Project” lehetőséget, majd kattintson a „Next” gombra.
- adja meg a megoldás nevét és elérési útját, kattintson a „Létrehozás” gombra.
A böngésző vezérléséhez néhány NuGet-csomagra is szüksége lesz:
- lépjen a "Projekt" menübe, és válassza a "NuGet csomagok hozzáadása" lehetőséget.
- keresse meg és telepítse a Selenium.WebDriver csomagot
- keresse meg és telepítse a Selenium.WebDriver.ChromeDriver csomagot
Ez minden, csak írjon egy kódot, hogy ellenőrizze, hogy minden úgy van-e beállítva, ahogy kell. A megoldás létrehozásakor automatikusan létrejön a tesztmetódusokhoz tartozó Test.cs fájl, amelybe a következő néhány sornyi kódot teszem:
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();
}
}
}
A teszt az „Egységtesztek” fülről indul, ha nem jelenik meg, lépjen a „Nézet” menübe, és válassza a „Teszt” lehetőséget.
Sikeres automatizálás =)
Forrás: will.com