Автоматизација на тестирање на веб апликации со користење Селен заедничко решение меѓу развивачите на автотест и C# еден од најпопуларните програмски јазици, така што комбинацијата на овие алатки не покренува никакви прашања. За развој со користење на овие технологии, често се користи популарен комерцијален софтвер од Microsoft за Windows, но ме интересираше да знам кои бесплатни аналози можат да се користат без да се оддалечите од стекот Selenium + C# за оваа задача.
Бидејќи не најдов статии на руски јазик на оваа тема, ќе го споделам моето искуство за поставување средина за развивање и дебагирање автотестови во C# на Linux.
Користениот оперативен систем беше Kubuntu 18.04 64-битен со Linux кернел 4.15.0-99-генерички, инсталиран од ISO слика преземена од
Моно JIT компајлер верзија 6.6.0.166 дејствуваше како CLR за C#. Неговата инсталација се состоеше од секвенцијално копирање и извршување на команди во терминалот (во Кубунту ова е Консоле) со
И се користи како IDE
Селенот поддржува многу прелистувачи, но бев премногу мрзлив да се замарам со се и се ограничив на тоа ChromeОм, откако инсталирав
Следно, создаваме решение во MonoDevelop:
- лансирање на MonoDevelop
- одете во менито „Датотека“.
- изберете „Креирај решение“
- кликнете на „.NET“
- изберете „NUnit Library Project“ и кликнете „Следно“
- наведете го името и патеката на решението, кликнете на „Креирај“
За да го контролирате прелистувачот, ќе ви требаат и неколку NuGet пакети:
- одете во менито „Проект“ и изберете „Додај пакети NuGet“
- побарајте и инсталирајте го пакетот Selenium.WebDriver
- побарајте и инсталирајте го пакетот Selenium.WebDriver.ChromeDriver
Тоа е сè, останува само да се напише некој код за да се провери дали се е конфигурирано како што треба. Кога креирате решение, автоматски се креира датотека за методите на тестирање Test.cs, во која ги ставам следните неколку линии код:
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();
}
}
}
Тестот се стартува од табулаторот „Тестови на единицата“; ако не е прикажан, одете во менито „Преглед“ и изберете „Тест“.
Успешна автоматизација =)
Извор: www.habr.com