32 عينة من مشاريع السيلينيوم مع الكسوف في عام 2022
نشرت: 2021-01-04يعتبر السيلينيوم من بين التقنيات البارزة في قسم التشغيل الآلي لاختبار الويب. باستخدام السيلينيوم بشكل صحيح ، يمكنك جعل عملية الاختبار الخاصة بك فعالة للغاية وإكمال مهام متعددة في فترة زمنية قصيرة.
لهذا السبب اكتسب تعلم السيلينيوم أهمية كبيرة. في هذه المقالة ، ستتعلم كيفية العمل في مشروع سيلينيوم باستخدام Eclipse ، وهي تقنية شائعة أخرى للمشاريع القائمة على Java.
أولاً ، سنناقش أساسيات هذه التقنيات. ثم سنلقي نظرة على كيفية بدء مشروع سيلينيوم باستخدام Eclipse. لقد شاركنا أيضًا نموذجًا لمشروع يمكنك أن تستلهم منه. هيا بنا نبدأ.
جدول المحتويات
ما هو السيلينيوم؟
السيلينيوم هو إطار محمول وأداة شائعة لاختبار تطبيقات الويب. وهو متوافق مع لغات برمجة متعددة مثل Python و C # و Java. يمكنك استخدام هذه اللغات لأداء مهام مختلفة باستخدام السيلينيوم ، مثل إنشاء نص اختبار. ومع ذلك ، يفضل معظم المستخدمين استخدام Java مع هذا الإطار لأنه سهل الاستخدام أكثر من البقية.
السيلينيوم ليس تطبيق برمجي واحد. إنها مجموعة من الأدوات المختلفة التي يمكنك استخدامها لإجراء أنواع مختلفة من الاختبارات.
يحتوي السيلينيوم على الأدوات التالية في مجموعته:

- السيلينيوم IDE (بيئة التطوير المتكاملة)
- سيلينيوم ويب درايفر
- واجهة برمجة تطبيقات عميل السيلينيوم
- جهاز التحكم عن بعد السيلينيوم (مهمل)
- شبكة السيلينيوم
ابتكر Jason Huggins عنصر السيلينيوم في عام 2004. وأراد أتمتة عملية الاختبار اليدوي المتكررة ، لذا فقد صمم برنامج JavaScript. هذا البرنامج نفسه أصبح السيلينيوم الأساسية. بصرف النظر عن Jason ، ساهم العديد من المطورين الآخرين في إنشاء مجموعة Selenium.
لماذا يسمى السيلينيوم
يستمد السيلينيوم اسمه من مزحة. في وقت تطويره ، كان هناك إطار اختبار آلي رئيسي آخر يسمى Mercury Interactive. اقترح جايسون مازحًا السيلينيوم لأصدقائه لأن السيلينيوم هو ترياق شائع لتسمم الزئبق. قبل أصدقاؤه الاقتراح وأعطوه الاسم الذي يحمله الآن.
ميزات السيلينيوم
يحتوي السيلينيوم على العديد من الميزات ؛ أبرزها ما يلي:
- السيلينيوم متوافق مع جميع المتصفحات الرئيسية تقريبًا في الصناعة ، بما في ذلك Chrome و Opera و Safari وما إلى ذلك.
- يحتوي هذا الجناح على مجموعة محددة من الأوامر تسمى Selenese. لديهم تسلسل كل أمر سيلينيوم.
- يمكنك تحديد موقع العناصر على صفحة ويب من خلال محددات مواقع عنصر السيلينيوم.
- لا يمكنك استخدام السيلينيوم لاختبار تطبيقات سطح المكتب أو تطبيقات الأجهزة المحمولة. يمكنك فقط استخدامه لاختبار تطبيقات الويب.
قراءة: أفكار مشروع السيلينيوم
ما هو مافن؟
Maven هي أداة أتمتة يستخدمها المطورون في الغالب لمشاريع Java. بصرف النظر عن Java ، يمكنك استخدامه مع العديد من لغات البرمجة الأخرى مثل C # و Scala و Ruby وما إلى ذلك. إنه منتج من Apache Software Foundation ، لذا فهو أداة مفتوحة المصدر.
يجعل Maven عملية البناء أكثر وضوحًا ويوفر لك نظام بناء موحد. إنه يضمن أن مطوري Java يتبعون أفضل ممارسات التطوير أثناء العمل في مشاريع Java. دخلت الصناعة في عام 2002 ، ومنذ ذلك الحين ، أصبحت واحدة من أهم مشاريع أباتشي.
اشتق اسم Maven من الكلمة اليديشية "maven" ، والتي تعني "تراكم المعرفة".
ملامح المخضرم
- يضمن Maven الاتساق بين مختلف المشاريع
- إنه يبسط إعداد المشروع من خلال توفير النموذج المعياري للوحدات النمطية أو المشاريع
- يمكن أن تعمل مع عدة مشاريع في وقت واحد
- يمكن لـ Maven بناء أي كمية من المشاريع في أنواع الإخراج الخاصة بها مثل WAR أو JAR دون الحاجة إلى البرمجة النصية في كثير من الحالات
- يعتمد على POM (نموذج كائن المشروع)
الآن بعد أن ناقشنا السيلينيوم ومافن ، دعونا نفهم Eclipse IDE. يعد امتلاك معرفة عملية بهؤلاء الثلاثة أمرًا بالغ الأهمية إذا كنت ترغب في العمل في مشروع سيلينيوم باستخدام Eclipse.
ما هو Eclipse IDE؟
Eclipse هو IDE (بيئة تطوير متكاملة) تساعد المطورين على العمل باستخدام السيلينيوم والتقنيات ذات الصلة. يمكنك استخدام Eclipse لتطوير تطبيقات في C ++ و Ruby و Python و C و Perl و Java وما إلى ذلك.
ميزات Eclipse IDE
- إنها أداة مفتوحة المصدر ، مما يعني أنه يمكنك استخدامها مجانًا.
- يحتوي النظام الأساسي التأسيسي لـ Eclipse IDE على مكونات إضافية متعددة ويمكن تمديده بمزيد من المكونات الإضافية.
- يمكنك تحويل Eclipse إلى IDE لأي لغة برمجة باستخدام المكون الإضافي الخاص بها.
- يوفر مشروع JDT (أدوات تطوير Java) مكونًا إضافيًا لاستخدام Eclipse باعتباره Java IDE. وبالمثل ، فإن PyDev هو مكون إضافي يسمح لك باستخدام Eclipse باعتباره Python IDE.
- يمكنك استخدام منصة Eclipse ومكوناتها الإضافية لإنشاء IDEs وتطبيقات العميل وما إلى ذلك.
كيفية إنشاء مشروع سيلينيوم مع Eclipse IDE
في هذا القسم من مقالتنا ، سنلقي نظرة على كيفية إنشاء مشروع سيلينيوم باستخدام Eclipse. إنها الخطوة الأولى للعمل في مشروع السيلينيوم ، والعديد من المبتدئين يعانون منه.
ستحتاج إلى تثبيت Maven و TestNG في نظامك قبل أن تتمكن من إنشاء مشروع سيلينيوم من خلال Eclipse. تأكد من تثبيتها (Maven و TestNG) قبل أن تبدأ هذه العملية.
الخطوة 1:
افتح Eclipse وانقر بزر الماوس الأيمن على قسم Package Explorer. سترى قائمة منبثقة. حدد الزر "جديد" ، والذي سيفتح قائمة أخرى لتحديد خيار "أخرى ...".
الخطوة 2:
عندما تنقر على زر "أخرى ..." ، سيفتح لك نافذة جديدة. حدد Maven Project ثم انقر فوق الزر "التالي".
الخطوه 3:
ستظهر نافذة جديدة الآن. هنا ، عليك تحديد مربع "إنشاء مشروع بسيط (تخطي اختيار النموذج الأصلي)". بعد ذلك ، حدد زر "التالي".
الخطوة رقم 4:
في هذا القسم ، يجب عليك إدخال معرف المجموعة ومعرف الأداة. كلاهما مهم لتسمية مشروعك. سيساعدك معرف المجموعة في تحديد مشروعك عبر جميع المشاريع الأخرى. يجب أن تتبع قواعد اسم الحزمة. هذا يعني أنه يجب أن يبدأ باسم المجال العكسي الذي تتحكم فيه. لا يفرض المخضرم قاعدة التسمية هذه ؛ ومع ذلك ، نظرًا لشعبية الأداة الواسعة ، فقد أصبح اتباع هذه القاعدة ممارسة شائعة. يمكنك إنشاء مجموعات فرعية متعددة باستخدام معرف المجموعة أيضًا.
معرف القطعة الأثرية هو اسم البرطمان الخاص بك بدون إصدار. إذا كنت منشئه ، فيمكنك اختيار أي اسم تريده طالما أنك لا تستخدم أي رموز غريبة وتستخدم الأحرف الصغيرة فقط.
ضع النقاط المذكورة أعلاه في الاعتبار أثناء إدخال معرف المجموعة ومعرف القطعة الأثرية لمشروعك. بمجرد إدخال هذه التفاصيل ، انقر فوق الزر "إنهاء".
الخطوة رقم 5:
دعنا نضيف التبعيات اللازمة إلى ملف POM لمشروعنا. توجه إلى ملف pom.xml وحدد علامة التبويب "pom.xml" في Eclipse. الآن ، أضف التبعيات المتعلقة بـ TestNG و Selenium WebDriver.
الخطوة رقم 6:
في هذه الخطوة ، احصل على ملف testng.xml عن طريق إنشاء فئة TestNG. انسخ الكود التالي في هذا الملف:
اختبارات الحزمة
استيراد org.openqa.selenium.WebDriver ؛
استيراد org.openqa.selenium.firefox.FirefoxDriver ؛
استيراد org.testng.annotations.Test؛
استيراد org.testng.annotations.BeforeClass؛
استيراد org.testng.annotations.AfterClass ؛
فئة عامة NewTest {
سائق WebDriver العام ؛
@اختبار
openMyBlog () باطل عام {
driver.get ("https://www.softwaretestingmaterial.com/") ؛
}
@قبل الفصل
باطل عام قبل الفئة () {
System.setProperty ("webdriver.gecko.driver"، "D: \\ Selenium \\ Drivers \\ geckodriver.exe") ؛
driver = new FirefoxDriver () ؛
}
@بعد الدرس
afterClass باطل عام () {
driver.quit () ،
}
}
الخطوة رقم 7:
يمكنك الآن تشغيل مشروع السيلينيوم الخاص بك مع Eclipse باستخدام ملف TestNG.
تأكد من أنك تفهم البرنامج التعليمي أعلاه قبل الانتقال إلى البرنامج التالي. هذا لأنه ، في القسم التالي ، سنناقش مثالاً عمليًا لمشروع سيلينيوم يمكنك إنشاؤه باستخدام Eclipse.
اقرأ أيضًا: راتب مطور السيلينيوم في الهند
احصل على دورة تطوير البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
مشروع السيلينيوم مع الكسوف: مثال
هنا ، قمنا بمشاركة الكود الخاص بحل حجز الرحلات على أساس السيلينيوم. يقوم البرنامج بتحديد مواقع الوصول والمغادرة للرحلة مع التاريخ نفسه. تقوم هذه الأداة بتنفيذ هذه المهام على موقع ويب MakeMyTrip.
يمكنك أن تستلهم من هذا المشروع لإنشاء مشروع سيلينيوم مماثل مع Eclipse بنفسك. إذا لم تكن قد عملت في مشروع سيلينيوم من قبل ، فنحن نقترح العمل على نسخة أصغر من هذا المشروع أولاً.
على سبيل المثال ، يمكنك إنشاء برنامج يحدد مواقع الوصول والمغادرة فقط. من ناحية أخرى ، إذا كنت ترغب في التوسع في هذا المشروع ، يمكنك إضافة المزيد من الوظائف.

المتصفح
متصفح الحزمة
استيراد org.openqa.selenium.WebDriver ؛
استيراد org.openqa.selenium.chrome.ChromeDriver ؛
اختيار المتصفح من الفئة العامة
{
سائق WebDriver ثابت ؛
WebDriver العام الثابت باستخدام Chrome ()
{
System.setProperty ("webdriver.chrome.driver" ، "E: \\ SeleniumLibs \\\\ chromedriver_win32 \\ chromedriver.exe") ؛
سائق = جديد ChromeDriver () ؛
driver.manage (). window (). تكبير () ؛
سائق العودة
}
}
الرمز
حزمة makemytrip
استيراد java.awt.AWTException ؛
استيراد java.awt.Robot ؛
استيراد java.awt.event.KeyEvent ؛
استيراد java.util.List ؛
استيراد java.util.concurrent.TimeUnit ؛
استيراد org.openqa.selenium.By ؛
استيراد org.openqa.selenium.JavascriptExecutor ؛
استيراد org.openqa.selenium.WebDriver ؛
استيراد org.openqa.selenium.WebDriverException ؛
استيراد org.openqa.selenium.WebElement ؛
import org.testng.annotations.AfterMethod؛
import org.testng.annotations.BeforeMethod؛
استيراد org.testng.annotations.Test؛
استيراد المتصفح.
فئة عامة MakeMyTripProject
{
سائق WebDriver ؛
تضمين التغريدة
OpenBrowser () باطل عام
{
سائق = BrowserSelection.UsingChrome () ،
}
@اختبار
يطرح () TripDetails () الفراغ العام InterruptException ، و AWTException
{
driver.get (“https://www.makemytrip.com/”) ؛
driver.manage (). timeouts (). withinlyWait (10، TimeUnit.SECONDS) ؛
Thread.sleep (5000) ؛
يحاول
{
/ * String frameStatus = driver.findElement (By.id (“webklipper-publisher-widget-container-الإعلام-frame”)). getTagName ()؛
System.out.println (frameStatus) ؛
driver.switchTo (). frame ("الإعلام-frame-31764456") ؛
driver.findElement (By.xpath (“.//*[id = 'webklipper-publisher-widget-container-notifications-close-div'] / i”)). click ()؛
driver.switchTo (). defaultContent () ؛
Thread.sleep (3000) ؛ * /
driver.findElement (By.xpath (“// input [@ id = 'hp-widget__sfrom']”)). click () ؛
driver.findElement (By.xpath (“// input [@ id = 'hp-widget__sfrom']”). clear () ؛
//driver.
Thread.sleep (2000) ؛
قائمة <WebElement> fromCities = driver.findElements (By.xpath (“// ul [@ id = 'ui-id-1 ′] / li / div / p / span [1]”)) ؛
System.out.println (fromCities.size () + ”\ n”) ؛
لـ (int i = 0 ؛ i <fromCities.size () ؛ i ++)
{
عنصر WebElement = fromCities.get (i) ؛
System.out.println (element.getAttribute (“innerHTML”)) ؛
}
//driver.findElement(By.xpath (“// ul [@ id = 'ui-id-1 ′] / li / div / p / span”)). click ()؛
driver.findElement (By.xpath (“// li [يحتوي (@ aria-label، 'Top Cities: Goa، India')] / div / p / span [1]"). انقر ()؛
driver.findElement (By.xpath (“// input [@ id = 'hp-widget__sTo']]). انقر () ؛
driver.findElement (By.xpath (“// input [@ id = 'hp-widget__sTo']”)). clear () ؛
//driver.
Thread.sleep (2000) ؛
قائمة <WebElement> toCities = driver.findElements (By.xpath (“// ul [@ id = 'ui-id-2 ′] / li / div / p / span [1]”)) ؛
System.out.println (toCities.size () + ”\ n”) ؛
لـ (int i = 0 ؛ i <toCities.size () ؛ i ++)
{
عنصر WebElement = toCities.get (i) ؛
System.out.println (element.getAttribute (“innerHTML”)) ؛
}
//driver.findElement(By.xpath (“// ul [@ id = 'ui-id-2 ′] / li / div / p / span”)). click ()؛
driver.findElement (By.xpath (“// ul [@ id = 'ui-id-2 ′] / li [3] / div / p / span [1]”)). انقر () ؛
Thread.sleep (2000) ؛
driver.findElement (By.xpath (“// input [@ id = 'hp-widget__depart']”)). click () ؛
Thread.sleep (2000) ؛
تاريخ السلسلة = "10-OCTOBER-2018" ؛
String splitter [] = date.split ("-")؛
String month_year = التقسيم [1] ،
يوم السلسلة = التقسيم [0] ؛
System.out.println (month_year) ؛
System.out.println (يوم) ؛
selectDate (month_year، day) ؛
Thread.sleep (3000) ؛
driver.findElement (By.xpath (“// button [@ id = 'searchBtn']”)). click () ؛
Thread.sleep (5000) ؛
Thread.sleep (2000) ؛
JavascriptExecutor js = سائق (JavascriptExecutor) ؛
js.executeScript (“window.scrollBy (0.3000)”) ؛
/ * روبوت روبوت = روبوت جديد () ؛
robot.keyPress (KeyEvent.VK_PAGE_DOWN) ،
robot.keyRelease (KeyEvent.VK_PAGE_DOWN) ؛ * /
Thread.sleep (5000) ؛
driver.findElement (By.xpath (“// div [@ id = 'aln_AI_dep'] / span [3]”)). click ()؛
Thread.sleep (5000) ؛
قائمة <WebElement> flight = driver.findElements (By.xpath (“// div [@ class = 'top_first_part clearfix'] / div / span / span [2] / span [1]”)) ؛
System.out.println ("رقم نتائج البحث عن رحلات طيران الهند: -" + flight.size ()) ؛
} catch (WebDriverException e)
{
System.out.println ("الاستثناء هو: -" + e + "\ n") ؛
}
}
حدد تاريخ الفراغ العام (String monthyear، String Selectday) بإلقاء InterruptException
{
قائمة <WebElement> العناصر = driver.findElements (By.xpath (“// div [@ class = 'ui-datepicker-title'] / span [1]”)) ؛
لـ (int i = 0 ؛ i <element.size () ؛ i ++)
{
System.out.println (element.get (i) .getText ()) ؛
// اختيار الشهر
if (element.get (i) .getText (). يساوي (monthyear))
{
// اختيار التاريخ
قائمة <WebElement> days = driver.findElements (By.xpath (“// div [@ class = 'ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui -datepicker-multi ui-datepicker-multi-2 ′] / div [2] / table / tbody / tr / td / a ”)) ؛
لـ (WebElement د: أيام)
{
System.out.println (d.getText ()) ؛
إذا كان (d.getText (). يساوي (Selectday))
{
d.click () ؛
Thread.sleep (10000) ؛
إرجاع؛
}
}
}
}
driver.findElement (By.xpath (“// div [@ class = 'ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datepicker-multi-2 ′] / div [2] / div / a / span ”)) انقر () ؛
selectDate (monthyear، Selectday) ؛
}
تضمين التغريدة
الفراغ العام CloseBrowser ()
{
driver.quit () ،
}
}

قراءة: 5 أفكار ومواضيع مثيرة للاهتمام لمشروع السيلينيوم للمبتدئين
تعلم كيفية إنشاء مشروع سيلينيوم باستخدام Eclipse والمزيد
السيلينيوم هو تقنية حيوية للغاية. سيساعدك التعرف على ذلك على أن تصبح محترفًا ماهرًا في اختبار البرامج. فيما يلي بعض الموارد الإضافية حول Selenium و Maven لمزيد من القراءة:
- كيفية إنشاء المشاريع المخضرمة
- 5 أفكار مثيرة للاهتمام لمشروع السيلينيوم
- 30 أسئلة وأجوبة مقابلة السيلينيوم
إذا كنت ترغب في معرفة المزيد عن السيلينيوم أو اختبار البرامج ، فإننا نوصي بأخذ دورة في علوم الكمبيوتر. ستتعرف على مقتطفات الصناعة من خلال الاختبارات والمشكلات والمشاريع التفاعلية.
نأمل أن تكون قد وجدت هذا الدليل مفيدًا. إذا كان لديك أي أسئلة بخصوص هذه المقالة أو السيلينيوم ، يرجى طرحها علينا من خلال قسم التعليقات أدناه. نحب أن نسمع منك.
إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
