Automatizacija testiranja web aplikacija korištenjem selen uobičajeno rješenje među programerima autotestiranja, i C# jedan od najpopularnijih programskih jezika, tako da kombinacija ovih alata ne postavlja nikakva pitanja. Za razvoj pomoću ovih tehnologija često se koristi popularni vlasnički softver iz Microsofta za Windows, ali me je zanimalo koji se besplatni analogi mogu koristiti bez odstupanja od Selenium + C# steka za ovaj zadatak.
Pošto nisam našao nijedan članak na ruskom jeziku o ovoj temi, podijelit ću svoje iskustvo postavljanja okruženja za razvoj i otklanjanje grešaka u autotestovima u C# na Linuxu.
Korišteni OS je bio Kubuntu 18.04 64-bit sa Linux kernelom 4.15.0-99-generički, instaliran sa ISO slike preuzete sa
Mono JIT kompajler verzija 6.6.0.166 djelovao je kao CLR za C#. Njegova instalacija se sastojala od uzastopnog kopiranja i izvršavanja komandi u terminal (u Kubuntuu je to Konsole) sa
I koristi se kao IDE
Selen podržava mnoge pretraživače, ali sam bio previše lijen da se mučim sa svime i ograničio sam se na to Chrome'om, nakon instalacije
Zatim kreiramo rješenje u MonoDevelop:
- pokrenite MonoDevelop
- idite na meni "Datoteka".
- odaberite "Kreiraj rješenje"
- kliknite na “.NET”
- odaberite “NUnit Library Project” i kliknite “Next”
- navedite naziv i putanju rješenja, kliknite na "Kreiraj"
Za kontrolu pretraživača, trebat će vam i nekoliko NuGet paketa:
- idite na meni "Projekt" i odaberite "Dodaj NuGet pakete"
- potražite i instalirajte paket Selenium.WebDriver
- potražite i instalirajte paket Selenium.WebDriver.ChromeDriver
To je sve, preostaje samo da napišete neki kod kako biste provjerili da li je sve konfigurirano kako treba. Prilikom kreiranja rješenja automatski se kreira datoteka za metode testiranja Test.cs u koju sam stavio sljedećih nekoliko redova koda:
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();
}
}
}
Test se pokreće sa kartice “Testovi jedinica”; ako nije prikazan, idite na meni “Prikaz” i odaberite “Test”.
Uspješna automatizacija =)
izvor: www.habr.com