рд▓рд┐рдирдХреНрд╕рдорд╛ C# рдорд╛ рд╕реЗрд▓реЗрдирд┐рдпрдо рдкрд░реАрдХреНрд╖рдгрд╣рд░реВ

рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рди рд╕реЗрд▓реЗрдирд┐рдпрдо autotest рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ рдмреАрдЪ рдПрдХ рд╕рд╛рдЭрд╛ рд╕рдорд╛рдзрд╛рди, рд░ C# рд╕рдмреИрднрдиреНрджрд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рднрд╛рд╖рд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ, рддреНрдпрд╕реИрд▓реЗ рдпреА рдЙрдкрдХрд░рдгрд╣рд░реВрдХреЛ рд╕рдВрдпреЛрдЬрдирд▓реЗ рдХреБрдиреИ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЦрдбрд╛ рдЧрд░реНрджреИрдиред рдпреА рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди, Windows рдХреЛ рд▓рд╛рдЧрд┐ Microsoft рдмрд╛рдЯ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╛рдп: рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рддрд░ рдорд▓рд╛рдИ рдпреЛ рдХрд╛рд░реНрдпрдХреЛ рд▓рд╛рдЧрд┐ рд╕реЗрд▓реЗрдирд┐рдпрдо + C# рд╕реНрдЯреНрдпрд╛рдХрдмрд╛рдЯ рдкреНрд░рд╕реНрдерд╛рди рдирдЧрд░реА рдирд┐: рд╢реБрд▓реНрдХ рдПрдирд╛рд▓рдЧрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рднрдиреЗрд░ рдЬрд╛рдиреНрди рдЗрдЪреНрдЫреБрдХ рдерд┐рдПред

рдореИрд▓реЗ рдпрд╕ рд╡рд┐рд╖рдпрдорд╛ рдХреБрдиреИ рдкрдирд┐ рд░реВрд╕реА рднрд╛рд╖рд╛рдХреЛ рд▓реЗрдЦ рдлреЗрд▓рд╛ рдирдкрд╛рдПрдХреЛрд▓реЗ, рдо рд▓рд┐рдирдХреНрд╕рдорд╛ C# рдорд╛ рдЕрдЯреЛрдЯреЗрд╕реНрдЯрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рд░ рдбрд┐рдмрдЧ рдЧрд░реНрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдореЗрд░реЛ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреЗрдЫреБред

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдУрдПрд╕ рдХреБрдмрдиреНрдЯреБ 18.04 64-рдмрд┐рдЯ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ 4.15.0-99-рдЬреЗрдиреЗрд░рд┐рдХ рднрдПрдХреЛ рдерд┐рдпреЛ, рдмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ ISO рдЫрд╡рд┐рдмрд╛рдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдпреЛред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯред рдорд▓рд╛рдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЫ рдХрд┐ рдХреБрдиреИ рдкрдирд┐ рдЖрдзреБрдирд┐рдХ рд░ рдкрд░реНрдпрд╛рдкреНрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгрд▓реЗ рдЧрд░реНрдиреЗрдЫред

рдореЛрдиреЛ JIT рдХрдореНрдкрд╛рдЗрд▓рд░ рд╕рдВрд╕реНрдХрд░рдг 6.6.0.166 C# рдХреЛ рд▓рд╛рдЧрд┐ CLR рдХреЛ рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрдпреЛред рдпрд╕рдХреЛ рд╕реНрдерд╛рдкрдирд╛рд▓реЗ рдЯрд░реНрдорд┐рдирд▓рдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдХреНрд░рдорд┐рдХ рд░реВрдкрдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреЗ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫ (рдХреБрдмреБрдиреНрдЯреБрдорд╛ рдпреЛ рдХрдиреНрд╕реЛрд▓ рд╣реЛ)ред рдпрд╕ рдкреГрд╖реНрда рдХреЛ.

рд░ IDE рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛ MonoDevelop 7.8.4 (рдирд┐рд░реНрдорд╛рдг 2), рдореЛрдиреЛ рдЬрд╕реНрддреИ рд╕реНрдерд╛рдкрд┐рддред

рд╕реЗрд▓реЗрдирд┐рдпрдорд▓реЗ рдзреЗрд░реИ рдмреНрд░рд╛рдЙрдЬрд░рд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, рддрд░ рдо рд╕рдмреИ рдХреБрд░рд╛рдХреЛ рдЪрд┐рдиреНрддрд╛ рдЧрд░реНрди рдЕрд▓реНрдЫреА рдерд┐рдПрдБ рд░ рдЖрдлреИрдВрдорд╛ рд╕реАрдорд┐рдд рдерд┐рдПрдБ рдХреНрд░реЛрдо'рдУрдо, рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИ 64-bit .deb рдкреНрдпрд╛рдХреЗрдЬ.

рдЕрд░реНрдХреЛ, рд╣рд╛рдореА 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди