اتوماسیون تست وب اپلیکیشن با استفاده از سلنیوم یک راه حل رایج در میان توسعه دهندگان تست خودکار، و C# یکی از محبوب ترین زبان های برنامه نویسی است، بنابراین ترکیب این ابزارها هیچ سوالی ایجاد نمی کند. برای توسعه با استفاده از این فناوریها، اغلب از نرمافزار اختصاصی محبوب مایکروسافت برای ویندوز استفاده میشود، اما من علاقه مند بودم بدانم چه آنالوگهای رایگانی را میتوان بدون خروج از پشته Selenium + C# برای این کار استفاده کرد.
از آنجایی که هیچ مقاله ای به زبان روسی در مورد این موضوع پیدا نکردم، تجربه خود را از راه اندازی محیطی برای توسعه و اشکال زدایی تست های خودکار در سی شارپ در لینوکس به اشتراک می گذارم.
سیستم عامل مورد استفاده Kubuntu 18.04 64 بیتی با هسته لینوکس 4.15.0-99-generic، نصب شده از یک تصویر ISO دانلود شده از
کامپایلر Mono JIT نسخه 6.6.0.166 به عنوان یک CLR برای C# عمل کرد. نصب آن شامل کپی کردن و اجرای متوالی دستورات در ترمینال (در کوبونتو این Konsole است) با
و به عنوان یک IDE استفاده می شود
سلنیوم از بسیاری از مرورگرها پشتیبانی می کند، اما من خیلی تنبل بودم که به همه چیز توجه کنم و خودم را محدود کردم کروماوم، با نصب
بعد، ما یک راه حل در MonoDevelop ایجاد می کنیم:
- MonoDevelop را راه اندازی کنید
- به منوی "فایل" بروید
- "ایجاد راه حل" را انتخاب کنید
- روی “.NET” کلیک کنید
- "NUnit Library Project" را انتخاب کرده و روی "Next" کلیک کنید.
- نام و مسیر راه حل را مشخص کنید، روی "ایجاد" کلیک کنید.
برای کنترل مرورگر، به چند بسته NuGet نیز نیاز دارید:
- به منوی "Project" بروید و "Add NuGet Packages" را انتخاب کنید.
- بسته 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