اختبارات السيلينيوم في C # على Linux

أتمتة اختبار تطبيقات الويب باستخدام عنصر السيلينيوم حل مشترك بين مطوري autotest و C# واحدة من أكثر لغات البرمجة شيوعًا ، لذا فإن الجمع بين هذه الأدوات لا يثير تساؤلات. للتطوير باستخدام هذه التقنيات ، غالبًا ما يتم استخدام البرامج الاحتكارية الشهيرة من Microsoft لنظام التشغيل Windows ، ومع ذلك ، كنت مهتمًا بمعرفة نظائرها المجانية التي يمكن استخدامها دون الخروج من مكدس Selenium + C # لهذه المهمة.

نظرًا لأنني لم أجد أي مقالات باللغة الروسية حول هذا الموضوع ، فسوف أشارك تجربتي في إعداد بيئة لتطوير وتصحيح الاختبارات التلقائية في C # على Linux.

كان نظام التشغيل Kubuntu 18.04 64 بت مع Linux kernel 4.15.0-99-generic ، مثبتًا من صورة ISO التي تم تنزيلها من الموقع الرسمي. أعتقد أن أي توزيع لينكس حديث وشائع إلى حد ما سيفي بالغرض.

كان CLR لـ C # هو إصدار مترجم Mono JIT 6.6.0.166. يتكون التثبيت من نسخ متتالية وتنفيذ الأوامر إلى المحطة (في Kubuntu هذا هو Konsole) مع هذه الصفحة.

وكمستخدم IDE MonoDevelop 7.8.4 (بناء 2)، مثبت بشكل مشابه لـ Mono.

يدعم السيلينيوم العديد من المتصفحات ، لكنني كنت كسولًا جدًا وأقتصر على ذلك الكرومأوم ، الإعداد حزمة 64 بت .deb.

بعد ذلك ، نقوم بإنشاء حل في MonoDevelop:

  • إطلاق MonoDevelop
  • اذهب إلى قائمة "ملف"
  • حدد "إنشاء حل"
  • انقر فوق ".NET"
  • حدد "مشروع مكتبة NUnit" وانقر على "التالي"
  • تحديد اسم ومسار الحل ، انقر فوق "إنشاء"

اختبارات السيلينيوم في C # على Linux

لإدارة المتصفح ، ستحتاج أيضًا إلى اثنين من حزم NuGet:

  • انتقل إلى قائمة "المشروع" وحدد "إضافة حزم NuGet"
  • ابحث عن حزمة Selenium.WebDriver وقم بتثبيتها
  • ابحث عن الحزمة Selenium.WebDriver.ChromeDriver وقم بتثبيتها

اختبارات السيلينيوم في C # على Linux

هذا ، في الواقع ، كل شيء ، يبقى كتابة بعض التعليمات البرمجية للتحقق من أن كل شيء تم إعداده كما ينبغي. عند إنشاء حل ، يتم إنشاء ملف لطرق الاختبار 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 # على Linux

أتمتة ناجحة =)

المصدر: www.habr.com

إضافة تعليق