أتمتة اختبار تطبيقات الويب باستخدام عنصر السيلينيوم حل مشترك بين مطوري 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 ، مثبت بشكل مشابه لـ Mono.
يدعم السيلينيوم العديد من المتصفحات ، لكنني كنت كسولًا جدًا وأقتصر على ذلك الكرومأوم ، الإعداد .
بعد ذلك ، نقوم بإنشاء حل في MonoDevelop:
- إطلاق MonoDevelop
- اذهب إلى قائمة "ملف"
- حدد "إنشاء حل"
- انقر فوق ".NET"
- حدد "مشروع مكتبة NUnit" وانقر على "التالي"
- تحديد اسم ومسار الحل ، انقر فوق "إنشاء"

لإدارة المتصفح ، ستحتاج أيضًا إلى اثنين من حزم 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
