āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ C# āĻ āĻ¸ā§‡āĻ˛ā§‡āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ“āĻ¯āĻŧā§‡āĻŦ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ…āĻŸā§‹āĻŽā§‡āĻļāĻ¨ āĻ¸ā§‡āĻ˛ā§‡āĻ¨āĻŋāĻ‰āĻŽā§ āĻ…āĻŸā§‹āĻŸā§‡āĻ¸ā§āĻŸ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨, āĻāĻŦāĻ‚ C# āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ­āĻžāĻˇāĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ, āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻ‚āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻ•ā§‹āĻ¨āĻ“ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ¤ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻĒā§āĻ°āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻŽāĻžāĻ˛āĻŋāĻ•āĻžāĻ¨āĻžāĻ§ā§€āĻ¨ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻāĻ‡ āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§‡āĻ˛ā§‡āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ + āĻ¸āĻŋ# āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ• āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ•āĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ—āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ¨-āĻ­āĻžāĻˇāĻžāĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡āĻ¨āĻŋ, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ C#-āĻ āĻ…āĻŸā§‹āĻŸā§‡āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ•āĻžāĻļ āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ā§‡āĻ° āĻ†āĻŽāĻžāĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 18.04-64-āĻœā§‡āĻ¨āĻžāĻ°āĻŋāĻ• āĻ¸āĻš āĻ•ā§āĻŦā§āĻ¨ā§āĻŸā§ 4.15.0 99-āĻŦāĻŋāĻŸ āĻ“āĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯ā§‡āĻŸāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ ISO āĻ‡āĻŽā§‡āĻœ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¸āĻžāĻ‡āĻŸ. āĻ†āĻŽāĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻāĻŦāĻ‚ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡āĨ¤

Mono JIT āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 6.6.0.166 C# āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ CLR āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ā§‡ (āĻ•ā§āĻŦā§āĻ¨ā§āĻŸā§āĻ¤ā§‡ āĻāĻŸāĻŋ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡) āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤āĨ¤ āĻāĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ°.

āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ IDE āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ MonoDevelop 7.8.4 (āĻŦāĻŋāĻ˛ā§āĻĄ 2), Mono āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž.

āĻ¸ā§‡āĻ˛ā§‡āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ āĻ…āĻ¨ā§‡āĻ• āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ–ā§āĻŦ āĻ…āĻ˛āĻ¸ āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ•ā§āĻ°ā§ŒāĻŽāĻŋāĻ¯āĻŧāĻžāĻŽ'āĻ“āĻŽ, āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ 64-āĻŦāĻŋāĻŸ .deb āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ.

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ†āĻŽāĻ°āĻž MonoDevelop āĻ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

  • MonoDevelop āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨
  • "āĻĢāĻžāĻ‡āĻ˛" āĻŽā§‡āĻ¨ā§āĻ¤ā§‡ āĻ¯āĻžāĻ¨
  • "āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨" āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨
  • ".NET" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨
  • "NUnit āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ" āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ "āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨
  • āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ‚ āĻĒāĻĨ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨, "āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨" āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨

āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ C# āĻ āĻ¸ā§‡āĻ˛ā§‡āĻ¨āĻŋāĻ¯āĻŧāĻžāĻŽ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž

āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ 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

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨