เจฒเฉ€เจจเจ•เจธ เจ‰เฉฑเจคเฉ‡ C# เจ‰เฉฑเจคเฉ‡ เจธเฉ‡เจฒเฉ‡เจจเจฟเจ…เจฎ เจŸเฉˆเจธเจŸ

เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจตเฉˆเจฌ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจŸเฉˆเจธเจŸเจฟเฉฐเจ— เจฆเจพ เจ†เจŸเฉ‹เจฎเฉ‡เจธเจผเจจ เจธเฉ‡เจฒเฉ‡เจจเจฟเจ…เจฎ เจ†เจŸเฉ‹เจŸเฉˆเจธเจŸ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจ†เจฎ เจนเฉฑเจฒ, เจ…เจคเฉ‡ C# เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ•, เจ‡เจธเจฒเจˆ เจ‡เจนเจจเจพเจ‚ เจธเจพเจงเจจเจพเจ‚ เจฆเจพ เจธเฉเจฎเฉ‡เจฒ เจ•เฉ‹เจˆ เจธเจตเจพเจฒ เจจเจนเฉ€เจ‚ เจ‰เจ เจพเจ‰เจ‚เจฆเจพเฅค เจ‡เจนเจจเจพเจ‚ เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจฒเจˆ, เจตเจฟเฉฐเจกเฉ‹เจœเจผ เจฒเจˆ เจฎเจพเจˆเจ•เฉเจฐเฉ‹เจธเจพเฉฑเจซเจŸ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจฎเจฒเจ•เฉ€เจ…เจค เจตเจพเจฒเฉ‡ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ…เจ•เจธเจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจ‡เจน เจœเจพเจฃเจจ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฆเจพ เจธเฉ€ เจ•เจฟ เจ‡เจธ เจ•เฉฐเจฎ เจฒเจˆ เจธเฉ‡เจฒเฉ‡เจจเจฟเจ…เจฎ + C# เจธเจŸเฉˆเจ• เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจนเฉœเฉ‡ เจฎเฉเจซเจค เจเจจเจพเจฒเจพเจ— เจตเจฐเจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจ•เจฟเจ‰เจ‚เจ•เจฟ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจฐเฉ‚เจธเฉ€-เจญเจพเจธเจผเจพ เจฒเฉ‡เจ– เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฟเจ† เจนเฉˆ, เจฎเฉˆเจ‚ เจฒเฉ€เจจเจ•เจธ 'เจคเฉ‡ C# เจตเจฟเฉฑเจš เจ†เจŸเฉ‹เจŸเฉˆเจธเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจตเจฟเจ•เจธเจค เจ•เจฐเจจ เจ…เจคเฉ‡ เจกเฉ€เจฌเฉฑเจ— เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจพเจคเจพเจตเจฐเจฃ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจ†เจชเจฃเฉ‡ เจ…เจจเฉเจญเจต เจจเฉ‚เฉฐ เจธเจพเจ‚เจเจพ เจ•เจฐเจพเจ‚เจ—เจพเฅค

เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† OS เจ•เฉเจฌเฉฐเจŸเฉ‚ 18.04 64-เจฌเจฟเฉฑเจŸ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ 4.15.0-99-เจœเจจเจฐเจฟเจ• เจฆเฉ‡ เจจเจพเจฒ เจธเฉ€, เจœเจฟเจธ เจคเฉ‹เจ‚ เจกเจพเจ‰เจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ ISO เจšเจฟเฉฑเจคเจฐ เจคเฉ‹เจ‚ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจ…เจงเจฟเจ•เจพเจฐเฉ€ เจจเฉ‡ เจธเจพเจˆเจŸ. เจฎเฉ‡เจฐเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ‹เจˆ เจตเฉ€ เจ†เจงเฉเจจเจฟเจ• เจ…เจคเฉ‡ เจ•เจพเจซเจผเฉ€ เจชเฉเจฐเจธเจฟเฉฑเจง เจฒเฉ€เจจเจ•เจธ เจตเฉฐเจก เจ•เจฐเฉ‡เจ—เฉ€.

เจฎเฉ‹เจจเฉ‹ เจœเฉ‡เจ†เจˆเจŸเฉ€ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเฉฐเจธเจ•เจฐเจฃ 6.6.0.166 เจจเฉ‡ C# เจฒเจˆ CLR เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพเฅค เจ‡เจธเจฆเฉ€ เจธเจฅเจพเจชเจจเจพ เจตเจฟเฉฑเจš เจŸเจฐเจฎเฉ€เจจเจฒ เจตเจฟเฉฑเจš เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจตเจพเจฐ เจ•เจพเจชเฉ€ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจšเจฒเจพเจ‰เจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ (เจ•เฉเจฌเฉฐเจคเฉ‚ เจตเจฟเฉฑเจš เจ‡เจน เจ•เฉ‹เจจเจธเฉ‹เจฒ เจนเฉˆ) เจ‡เจน เจชเฉฐเจจเจพ.

เจ…เจคเฉ‡ เจ‡เฉฑเจ• IDE เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ MonoDevelop 7.8.4 (เจฌเจฟเจฒเจก 2), เจฎเฉ‹เจจเฉ‹ เจฆเฉ‡ เจธเจฎเจพเจจ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจธเฉ‡เจฒเฉ‡เจจเจฟเจ…เจฎ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฌเฉเจฐเจพเจ‰เจœเจผเจฐเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจฎเฉˆเจ‚ เจนเจฐ เจšเฉ€เจœเจผ เจจเจพเจฒ เจชเจฐเฉ‡เจธเจผเจพเจจ เจนเฉ‹เจฃ เจฒเจˆ เจฌเจนเฉเจค เจ†เจฒเจธเฉ€ เจธเฉ€ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจธเฉ€เจฎเจฟเจค เจ•เฉ€เจคเจพ เจ•เจฐเฉ‹เจฎ'เจ“เจฎ, เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ 64-เจฌเจฟเฉฑเจŸ .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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹