рд╡рд╛рдкрд░реВрди рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рдЪрдгреА рдСрдЯреЛрдореЗрд╢рди рд╕реЗрд▓реЗрдирд┐рдпрдо рдСрдЯреЛрдЯреЗрд╕реНрдЯ рдбреЗрд╡реНрд╣рд▓рдкрд░рдордзреАрд▓ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрд╛рдп рдЖрдгрд┐ C# рд╕рд░реНрд╡рд╛рдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдВрдкреИрдХреА рдПрдХ, рдореНрд╣рдгреВрди рдпрд╛ рд╕рд╛рдзрдирд╛рдВрдЪреЗ рд╕рдВрдпреЛрдЬрди рдХреЛрдгрддреЗрд╣реА рдкреНрд░рд╢реНрди рдирд┐рд░реНрдорд╛рдг рдХрд░рдд рдирд╛рд╣реА. рдпрд╛ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд┐рдВрдбреЛрдЬрд╕рд╛рдареА рдорд╛рдпрдХреНрд░реЛрд╕реЙрдлреНрдЯрдЪреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░реЛрдкреНрд░рд╛рдпрдЯрд░реА рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдпрд╛ рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА рд╕реЗрд▓реЗрдирд┐рдпрдо + рд╕реА# рд╕реНрдЯреЕрдХрдордзреВрди рди рдЬрд╛рддрд╛ рдХреЛрдгрддреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЕреЕрдирд╛рд▓реЙрдЧ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рдд рдорд▓рд╛ рд░рд╕ рд╣реЛрддрд╛.
рдорд▓рд╛ рдпрд╛ рд╡рд┐рд╖рдпрд╛рд╡рд░ рдХреЛрдгрддреЗрд╣реА рд░рд╢рд┐рдпрди-рднрд╛рд╖реЗрддреАрд▓ рд▓реЗрдЦ рд╕рд╛рдкрдбрд▓реЗ рдирд╕рд▓реНрдпрд╛рдореБрд│реЗ, рдореА рд▓рд┐рдирдХреНрд╕рд╡рд░ C# рдордзреНрдпреЗ рдСрдЯреЛрдЯреЗрд╕реНрдЯ рд╡рд┐рдХрд╕рд┐рдд рдЖрдгрд┐ рдбреАрдмрдЧ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдорд╛рдЭрд╛ рдЕрдиреБрднрд╡ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░реЗрди.
рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ 18.04-64-рдЬреЗрдиреЗрд░рд┐рдХрд╕рд╣ рдХреБрдмрдВрдЯреВ 4.15.0 99-рдмрд┐рдЯ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рдУрдПрд╕, рдпреЗрдереВрди рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ ISO рдкреНрд░рддрд┐рдореЗрд╡рд░реВрди рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ.
рдореЛрдиреЛ JIT рдХрдВрдкрд╛рдЗрд▓рд░ рдЖрд╡реГрддреНрддреА 6.6.0.166 рдиреЗ C# рд╕рд╛рдареА CLR рдореНрд╣рдгреВрди рдХрд╛рдо рдХреЗрд▓реЗ. рддреНрдпрд╛рдЪреНрдпрд╛ рдЗрдиреНрд╕реНрдЯреЙрд▓реЗрд╢рдирдордзреНрдпреЗ рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ (рдХреБрдмрдВрдЯреВрдордзреНрдпреЗ рд╣реЗ рдХреЛрдиреНрд╕реЛрд▓ рдЖрд╣реЗ) рдЕрдиреБрдХреНрд░рдореЗ рдХреЙрдкреА рдХрд░рдгреЗ рдЖрдгрд┐ рдХрдорд╛рдВрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ.
рдЖрдгрд┐ IDE рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ
рд╕реЗрд▓реЗрдирд┐рдпрдо рдмрд░реНтАНрдпрд╛рдЪ рдмреНрд░рд╛рдЙрдЭрд░рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, рдкрд░рдВрддреБ рдореА рд╕рд░реНрд╡ рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рддреНрд░рд╛рд╕ рдХрд░рдгреНрдпрд╛рд╕ рдЦреВрдк рдЖрд│рд╢реА рд╣реЛрддреЛ рдЖрдгрд┐ рд╕реНрд╡рддрдГрд▓рд╛ рдорд░реНрдпрд╛рджрд┐рдд рдХреЗрд▓реЗ Chrome'рдУрдо, рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ
рдкреБрдвреЗ, рдЖрдореНрд╣реА MonoDevelop рдордзреНрдпреЗ рдПрдХ рдЙрдкрд╛рдп рддрдпрд╛рд░ рдХрд░рддреЛ:
- MonoDevelop рд▓рд╛рдБрдЪ рдХрд░рд╛
- "рдлрд╛рдЗрд▓" рдореЗрдиреВрд╡рд░ рдЬрд╛
- "рд╕реЛрд▓реНрдпреВрд╢рди рддрдпрд╛рд░ рдХрд░рд╛" рдирд┐рд╡рдбрд╛
- ".NET" рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛
- "NUnit Library Project" рдирд┐рд╡рдбрд╛ рдЖрдгрд┐ "Next" рд╡рд░ рдХреНрд▓рд┐рдХ рдХрд░рд╛.
- рд╕реЛрд▓реНрдпреВрд╢рдирдЪреЗ рдирд╛рд╡ рдЖрдгрд┐ рдорд╛рд░реНрдЧ рджрд░реНрд╢рд╡рд╛, "рддрдпрд╛рд░ рдХрд░рд╛" рдХреНрд▓рд┐рдХ рдХрд░рд╛
рдмреНрд░рд╛рдЙрдЭрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд╣реА 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