Vipimo vya Selenium kwenye C # kwenye Linux

Uendeshaji wa majaribio ya programu ya wavuti kwa kutumia Selenium suluhisho la kawaida kati ya watengenezaji wa autotest, na C# moja ya lugha maarufu zaidi za programu, hivyo mchanganyiko wa zana hizi hauzuii maswali yoyote. Ili kuendeleza kutumia teknolojia hizi, programu maarufu ya wamiliki kutoka Microsoft kwa Windows hutumiwa mara nyingi, lakini nilikuwa na nia ya kujua ni analogues gani za bure zinaweza kutumika bila kuondoka kwenye safu ya Selenium + C # kwa kazi hii.

Kwa kuwa sijapata makala yoyote ya lugha ya Kirusi kuhusu mada hii, nitashiriki uzoefu wangu wa kuweka mazingira ya kuendeleza na kutatua majaribio ya kiotomatiki katika C # kwenye Linux.

Mfumo wa uendeshaji uliotumika ni Kubuntu 18.04 64-bit na Linux kernel 4.15.0-99-generic, iliyosakinishwa kutoka kwa picha ya ISO iliyopakuliwa kutoka. tovuti rasmi. Ninaamini usambazaji wowote wa kisasa na maarufu wa Linux utafanya.

Toleo la 6.6.0.166 la mkusanyaji wa Mono JIT lilifanya kazi kama CLR ya C#. Usanikishaji wake ulijumuisha kunakili kwa mpangilio na kutekeleza amri kwenye terminal (huko Kubuntu hii ni Konsole) na ukurasa huu.

Na kutumika kama IDE MonoDevelop 7.8.4 (jenga 2), iliyosakinishwa sawa na Mono.

Selenium inasaidia vivinjari vingi, lakini nilikuwa mvivu sana kujisumbua na kila kitu na nilijizuia Chrome'om, ikiwa imesakinishwa 64-bit .deb kifurushi.

Ifuatayo, tunaunda suluhisho katika MonoDevelop:

  • kuzindua MonoDevelop
  • nenda kwenye menyu ya "Faili".
  • chagua "Unda suluhisho"
  • bonyeza ".NET"
  • chagua "Mradi wa Maktaba ya NUnit" na ubonyeze "Ifuatayo"
  • onyesha jina na njia ya suluhisho, bofya "Unda"

Vipimo vya Selenium kwenye C # kwenye Linux

Ili kudhibiti kivinjari, utahitaji pia vifurushi kadhaa vya NuGet:

  • nenda kwenye menyu ya "Mradi" na uchague "Ongeza Vifurushi vya NuGet"
  • tafuta na usakinishe kifurushi cha Selenium.WebDriver
  • tafuta na usakinishe kifurushi cha Selenium.WebDriver.ChromeDriver

Vipimo vya Selenium kwenye C # kwenye Linux

Ni hayo tu, kilichobaki ni kuandika msimbo fulani ili kuangalia kuwa kila kitu kimesanidiwa inavyopaswa. Wakati wa kuunda suluhisho, faili ya njia za majaribio Test.cs huundwa kiotomatiki, ambayo mimi huweka mistari ifuatayo ya nambari:

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();
        }
    }
}

Jaribio linazinduliwa kutoka kwa kichupo cha "Majaribio ya Kitengo"; ikiwa halijaonyeshwa, nenda kwenye menyu ya "Angalia" na uchague "Jaribio".

Vipimo vya Selenium kwenye C # kwenye Linux

Uendeshaji otomatiki uliofanikiwa =)

Chanzo: mapenzi.com

Kuongeza maoni