ื‘ื“ื™ืงื•ืช ืกืœื ื™ื•ื ื‘-C# ื‘ืœื™ื ื•ืงืก

ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื‘ื“ื™ืงื•ืช ืืคืœื™ืงืฆื™ื•ืช ืื™ื ื˜ืจื ื˜ ื‘ืืžืฆืขื•ืช ืกืœื ื™ื•ื ืคืชืจื•ืŸ ื ืคื•ืฅ ื‘ืงืจื‘ ืžืคืชื—ื™ ื‘ื“ื™ืงื•ืช ืื•ื˜ื•ืžื˜ื™ื•ืช, ื• C# ืื—ืช ืžืฉืคื•ืช ื”ืชื›ื ื•ืช ื”ืคื•ืคื•ืœืจื™ื•ืช ื‘ื™ื•ืชืจ, ื›ืš ืฉื”ืฉื™ืœื•ื‘ ืฉืœ ื”ื›ืœื™ื ื”ืœืœื• ืื™ื ื• ืžืขื•ืจืจ ืฉืืœื•ืช. ื›ื“ื™ ืœืคืชื— ื‘ืืžืฆืขื•ืช ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืืœื•, ื ืขืฉื” ืฉื™ืžื•ืฉ ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืชื•ื›ื ื” ืงื ื™ื™ื ื™ืช ืคื•ืคื•ืœืจื™ืช ืž-Microsoft for Windows, ืืš ื”ืชืขื ื™ื™ื ืชื™ ืœื“ืขืช ื‘ืื™ืœื• ืื ืœื•ื’ื™ื ื—ื™ื ืžื™ื™ื ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ืžื‘ืœื™ ืœืฆืืช ืžื—ืกื ื™ืช Selenium + C# ืœืžืฉื™ืžื” ื–ื•.

ืžื›ื™ื•ื•ืŸ ืฉืœื ืžืฆืืชื™ ืžืืžืจ ื‘ืฉืคื” ื”ืจื•ืกื™ืช ื‘ื ื•ืฉื ื–ื”, ืื—ืœื•ืง ืืช ื”ื ื™ืกื™ื•ืŸ ืฉืœื™ ื‘ื”ืงืžืช ืกื‘ื™ื‘ื” ืœืคื™ืชื•ื— ื•ื ื™ืคื•ื™ ื‘ืื’ื™ื ืื•ื˜ื•ืžื˜ื™ื™ื ื‘-C# ื‘ืœื™ื ื•ืงืก.

ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉื‘ื” ื ืขืฉื” ืฉื™ืžื•ืฉ ื”ื™ื™ืชื” Kubuntu 18.04 64 ืกื™ื‘ื™ื•ืช ืขื ืœื™ื‘ืช ืœื™ื ื•ืงืก 4.15.0-99-ื’ื ืจื™ืช, ืžื•ืชืงื ืช ืžืชืžื•ื ืช ISO ืฉื”ื•ืจื“ื” ืž- ืืชืจ ืจืฉืžื™. ืื ื™ ืžืืžื™ืŸ ืฉื›ืœ ื”ืคืฆืช ืœื™ื ื•ืงืก ืžื•ื“ืจื ื™ืช ื•ืคื•ืคื•ืœืจื™ืช ืœืžื“ื™ ืชืชืื™ื.

ื’ืจืกื” 6.6.0.166 ืฉืœ Mono JIT ืžื”ื“ืจ ืคืขืœื” ื›-CLR ืขื‘ื•ืจ C#. ื”ื”ืชืงื ื” ืฉืœื• ื›ืœืœื” ื”ืขืชืงื” ื•ื‘ื™ืฆื•ืข ืคืงื•ื“ื•ืช ื‘ืจืฆืฃ ืœืชื•ืš ื”ื˜ืจืžื™ื ืœ (ื‘ืงื•ื‘ื•ื ื˜ื• ื–ื” ืงื•ื ืกื•ืœื”) ืขื ื“ืฃ ื–ื”.

ื•ืžืฉืžืฉ ื›-IDE MonoDevelop 7.8.4 (build 2), ืžื•ืชืงืŸ ื‘ื“ื•ืžื” ืœ-Mono.

ืกืœื ื™ื•ื ืชื•ืžืš ื‘ื“ืคื“ืคื ื™ื ืจื‘ื™ื, ืื‘ืœ ื”ืชืขืฆืœืชื™ ืœื”ืชืขืกืง ื‘ื›ืœ ื“ื‘ืจ ื•ื”ื’ื‘ืœืชื™ ืืช ืขืฆืžื™ Chrome'ืื•ืž, ืœืื—ืจ ื”ื”ืชืงื ื” ื—ื‘ื™ืœืช .deb ืฉืœ 64 ืกื™ื‘ื™ื•ืช.

ืœืื—ืจ ืžื›ืŸ, ืื ื• ื™ื•ืฆืจื™ื ืคืชืจื•ืŸ ื‘-MonoDevelop:

  • ื”ืคืขืœ ืืช MonoDevelop
  • ืขื‘ื•ืจ ืœืชืคืจื™ื˜ "ืงื•ื‘ืฅ".
  • ื‘ื—ืจ "ืฆื•ืจ ืคืชืจื•ืŸ"
  • ืœื—ืฅ ืขืœ ".NET"
  • ื‘ื—ืจ "ืคืจื•ื™ืงื˜ ืกืคืจื™ื™ืช NUnit" ื•ืœื—ืฅ ืขืœ "ื”ื‘ื"
  • ืฆื™ื™ืŸ ืืช ื”ืฉื ื•ื”ื ืชื™ื‘ ืฉืœ ื”ืคืชืจื•ืŸ, ืœื—ืฅ ืขืœ "ืฆื•ืจ"

ื‘ื“ื™ืงื•ืช ืกืœื ื™ื•ื ื‘-C# ื‘ืœื™ื ื•ืงืก

ื›ื“ื™ ืœืฉืœื•ื˜ ื‘ื“ืคื“ืคืŸ, ืชืฆื˜ืจืš ื’ื ื›ืžื” ื—ื‘ื™ืœื•ืช NuGet:

  • ืขื‘ื•ืจ ืœืชืคืจื™ื˜ "ืคืจื•ื™ืงื˜" ื•ื‘ื—ืจ "ื”ื•ืกืฃ ื—ื‘ื™ืœื•ืช NuGet"
  • ื—ืคืฉ ื•ื”ืชืงืŸ ืืช ื—ื‘ื™ืœืช Selenium.WebDriver
  • ื—ืคืฉ ื•ื”ืชืงืŸ ืืช ื—ื‘ื™ืœืช Selenium.WebDriver.ChromeDriver

ื‘ื“ื™ืงื•ืช ืกืœื ื™ื•ื ื‘-C# ื‘ืœื™ื ื•ืงืก

ื–ื” ื”ื›ืœ, ื›ืœ ืžื” ืฉื ืฉืืจ ื–ื” ืœื›ืชื•ื‘ ืงืฆืช ืงื•ื“ ื›ื“ื™ ืœื‘ื“ื•ืง ืฉื”ื›ืœ ืžื•ื’ื“ืจ ื›ืžื• ืฉืฆืจื™ืš. ื‘ืขืช ื™ืฆื™ืจืช ืคืชืจื•ืŸ, ื ื•ืฆืจ ืื•ื˜ื•ืžื˜ื™ืช ืงื•ื‘ืฅ ืขื‘ื•ืจ ืฉื™ื˜ื•ืช ื‘ื“ื™ืงื” 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();
        }
    }
}

ื”ื‘ื“ื™ืงื” ืžื•ืคืขืœืช ืžื”ื›ืจื˜ื™ืกื™ื™ื” "ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”"; ืื ื”ื™ื ืœื ืžื•ืฆื’ืช, ืขื‘ื•ืจ ืœืชืคืจื™ื˜ "ืชืฆื•ื’ื”" ื•ื‘ื—ืจ "ื‘ื“ื™ืงื”".

ื‘ื“ื™ืงื•ืช ืกืœื ื™ื•ื ื‘-C# ื‘ืœื™ื ื•ืงืก

ืื•ื˜ื•ืžืฆื™ื” ืžื•ืฆืœื—ืช =)

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”