ашиглан вэб програмын туршилтыг автоматжуулах селен автотест хөгжүүлэгчид дунд нийтлэг шийдэл, болон C# хамгийн алдартай програмчлалын хэлнүүдийн нэг тул эдгээр хэрэгслүүдийн хослол нь ямар ч асуулт үүсгэдэггүй. Эдгээр технологийг ашиглан хөгжүүлэхийн тулд Windows-д зориулсан Microsoft-ын алдартай өмчийн програм хангамжийг ихэвчлэн ашигладаг боловч энэ ажилд Selenium + C# стекээс салалгүйгээр ямар үнэгүй аналогуудыг ашиглаж болохыг мэдэхийг сонирхож байсан.
Би энэ сэдвээр орос хэл дээрх нийтлэл олоогүй тул Линукс дээрх C# хэл дээр автомат тестийг боловсруулах, дибаг хийх орчинг бүрдүүлэх туршлагаасаа хуваалцах болно.
Ашигласан үйлдлийн систем нь Kubuntu 18.04 64 битийн Linux цөм 4.15.0-99-ерөнхий бөгөөд эндээс татаж авсан ISO дүрсээс суулгасан.
Mono JIT хөрвүүлэгчийн 6.6.0.166 хувилбар нь C#-д CLR үүрэг гүйцэтгэсэн. Түүний суурилуулалт нь командуудыг терминал руу (Kubuntu хэл дээр энэ нь Консол) дараалан хуулж, гүйцэтгэхээс бүрддэг.
Мөн IDE болгон ашигладаг
Selenium нь олон хөтчийг дэмждэг боловч би бүх зүйлд санаа зовохоос залхуурч, өөрийгөө хязгаарласан Chromeөө, суулгачихлаа
Дараа нь бид MonoDevelop дээр шийдлийг бий болгодог:
- MonoDevelop-ийг ажиллуул
- "Файл" цэс рүү очно уу
- "Шийдэл үүсгэх" -ийг сонгоно уу
- ".NET" дээр дарна уу
- "NUnit Library Project"-ийг сонгоод "Дараах" дээр дарна уу.
- шийдлийн нэр, замыг зааж, "Үүсгэх" дээр дарна уу.
Хөтөчийг удирдахын тулд танд хэд хэдэн 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