درس تورية Selenium Grid: أساليب أساسية وكيفية إنشائها

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

وبشكل أهم، يتوجب تخطيط جميع هذه العمليات بشكل آلي إلى أقصى مدى يمكن ذلك لأن في الشركات الرئيسية، إنشاء الأختبارات التجارية والأنابيب الخاصة ستكلف ثمنًا كبيرًا وبالمناسبة، سيكون الأسلوب الأكثر واضحًا والأقل توجهًا. وهنا حيث يأتي Selenium Grid، الأداة التي يستخدم بشكل واسع للتوزيع التجاري والتفاني عبر البرمجيات الخاصة والمواقع.

ما هو Selenium Grid؟

Selenium Grid هي أداة تستخدم للاختبار الموازي والمستمر عبر أكثر من متصفح وبيئة. يسمح لك بتنفيذ الاختبارات متجمعًا في آلاف الآلات ضد مختلف المتصفحات والأنظمة التشغيلية. قمة Selenium Grid هي توزيع عبء تنفيذ الاختبارات عبر عدة آلات، مما يجعل التنفيذ أسرع من أجل عدد كبير من الاختبارات.

تنظيم Selenium Grid يدور حول المركز والعديد من العقبات. المركز يعمل كنقطة مركزية حيث يتوجب إرسال ال solicitudes التجارية للاختبار. العقبات هي الآلات (المحلية أو الافتراضية) حيث يتم تنفيذ الاختبارات

سيليومي جريد يدعم مجموعة واسعة من التكوينات والاختبارات الموزعة، بما في ذلك التنفيذ الموازي واختبار القدرات الخاصة بالمتصفح الخاص. وهو يستخدم عادةً في الاختبارات الautomated لضمان التوافق والوظائف عبر المتصفحات المختلفة والأنظمة.

لماذا تحتاج السيليومي جريد؟

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

هيكل Selenium Grid

دعونا نفهم هيكل Selenium Grid. يعمل Selenium Grid بنموذج المركز والنقطة، حيث يتم اتصال مركز واحد بعدة نقاط ويمكنهم القيام بعدة متصفحات وأصدقاءهم المختلفين على أجهزة مختلفة، وأنظمة تشغيل مختلفة.

يؤدي المركز الرئيسي دور المركز في الشبكة Selenium، حيث يتم توجيه الأوامر التجاربية إلى النقاط. ويستقبل أيضًا طلبات التجارب من العميل ويقوم بتوجيهها إلى النقاط المطلوبة. يتم إطلاق المركز على آلة واحدة مع نظام تشغيل معين ومتصفح مع جميع المتصفحات التي تحتوي على التجارب وأصدقائها، وأيضًا مع قدرة تنظيمه على أجهزة متعددة تشغل نظام تشغيل متوافق.

قام Selenium أيضًا بتعريف عناصر أخري في الهيكل التي يتم توضيحها بالضبط على موقعه الإلكتروني والتي قد تساعد في تشغيل Selenium بالأسلوب المتوزع الكامل مع مرشدين وجلسات وموزعين معينين. وبعد أن حصلنا على معرفة كافية عن SeleniumGrid،

يمكن تثبيت Selenium Grid واستخدامه بأربع خطوات سهلة

خطوة 1

في خطوة 1، دعونا نبني الأولويات بسرعة.

أولاً، يتوجب علينا أن نتأكد من أننا نقوم بالتشغيل أحدث إصدار لJava، أو Java 11 وأعلى. يمكن تحميله من موقع الويب الرسمي.

ثم، سنحتاج أن ن Installing all the needed browsers الذين نريد أن نختبرهم. سنستخدم مضيف تطبيق Chrome بالإصدار 123 للوصول إلى المتصفح Chrome. أيضًا، تذكر بأن إصدارات المقود والمتصفح يجب أن تكونا متوافقتين لتشغيل الخوادم Selenium. وأخيرًا، سأستخدم Eclipse IDE، لأن هذا الدموع سيكون مبني على الجافا. يمكن تحميله من موقع

للrequirement الأخير، سيتوجب علينا 下载最新的Selenium Grid服务器من موقع الSelenium الرسمي.

خطوة 2

الآن دعونا نبدأ بخطوة 2. في الخطوة الثانية أنا قمت بإنشاء مجلد جديد وأضفت مرشح الSelenium ومرشح الChrome الذي سأستخدمه في هذه الدemonstration.

Java

 

package Selenium_test1 ;
	import java.net.MalformedURLException;

	public class test1{

	String hubUrl ="https://10.20.31.20";
	String url ="https://www.world.co/search";
	WebDriver driver;
	public void setupGrid()
	{
	DesiredCapabilities ds= new DesiredCapabilities();
	ds.setCapability("browserName", "Chrome");
	try{
	driver = new RemoteWebDriver( new URL(hubUrl),ds);
	} catch (malformedURLException e){
	e.printSTackTrace();
	}
	driver.get(url);
	}
	public void pageTitleValidation(){
	String title = driver.getTitle();
	System.out.println("page title :" +title);
	}
	public static void main(String[] args)
	{
	test1 obj = new test1();
	obj.setupGrid();
	obj.pageTitleValidation();
	}
	}

خطوة 3

الآن لخطوة 3، فتحتت محرك الEclipse ID وباستخدام WebDriver كتبت حالة الاختبار الخاصة بي. سنتفقد مشاهدة مشروع Maven جديد من الآخرين. بعيدًا عن ذلك، سيتوجب علينا أيضًا أضفة مرشح الChrome الذي سيستخدم في مجلد واحد هنا. سيتم تركيز نسخة الخاص بالSelenium إلى مسار هذا المشروع بواسطة الخطوات التي سأتبعها الآن. يمكنني أن أتحرك إلى إسم مشروعي والقيام بالنقر اليسار والذهاب إلى مسار البناء. من هنا يمكنني أن أتحرك إلى تكوين المسار البناء وعلى الجانب الأيمن سأرى خيارًا يدعى أضف فكرة خارجية. من هنا يمكنني أن أضف مرشح الSelenium الذي أستخدمه.

انقر تطبيق وإغلاق بعدها، دعونا نتحرك إلى خطوة 4.

خطوة 4

الآن لخطوة 4، عدت إلى مجلدي من خطوة 2. هنا سأستخدم نافذة المando.

هذا يجعل البحث على المجلد سهلًا وهو عمل بسيط. لأن هذه مجرد واحد من الآلات ومتصفح واحد فسأستخدم Selenium Edge Sandaland نمط.

الآن يبدأ المزود الخاص بالخدمة. يضيف ال依存ينتيديديدات المطلوبة واحد بعد الآخر والعملية تتمت بالإنجاز. أعطانا عنوانًا واحدًا للذهاب إليه. الآن سأنسخ هذا العنوان وأعود إلى الخطوة 3. هنا، في عنوان النقطة المركزية، سأصقل هذا العنوان، وبعد أن يكون قمت بالشفرة الخاصة بي، سأذهب إلى الملف وسأجرب هذا كتطبيق.

حسنًا، إذًا بمجرد أن أرى أن التطبيق يجري، سأتحرك إلى متصفحي الكروم الخاص بي، وسأصقل العنوان الذي أعطانيه بواسطة نافذة الأوامر. هذا عنوان سيليوميوم وأرى أن تلك الجولات تجري. في التأميل، يمكنني رؤية أن تم إنشاء تمييزات كاملة للكروم بواسطة التطبيق. وفي الجولات، يجري حاليًا تجربتي الأفتراضية الجاهزة. يمكنك أيضًا رؤية الصفحة الويب.

أدوار الشبكة

تتكون الشبكة من ست مكونات مختلفة تمنحك المرونة لتوفير تشغيل تجرباتك الاتمة بطرق متعددة. يمكنك بدءهم بمفردهم أو تجمعهم كمركز أو يمكننا تشغيلهم على جهاز واحد.

1. قائم بمفرده

من خلال تكامل جميع المكونات الرسمية، يعمل standalone كجهة واحدة. عند بدء standalone يتم توزيع الشبكة المفردة بواسطة أوامر واحدة و ذلك ضمن عملية واحدة. وهو من المهم أن تلاحظ standalone محدود بالقيام بعمله في جهاز واحد.

Java

 

java -jar selenium-server-<version>.jar standalone

2. المركز والعقد

المركز وال

المركز يتكون من المصادر, الموزع, الحزب التنبيهي وقائمة الجلسات:

Java

 

java -jar selenium-server-<version>.jar hub

العنصر يكتشف مواد توفرها من المسار النظامي.

Java

 

java -jar selenium-server-<version>.jar node

الخلاصة

في النهاية، للتلخيص، يسهل Selenium Grid تنفيذ متعدد الأختبارات بالجماعة عبر متعدد المتصفحات والأنظمة باستخدام هيكل المركز-العنصر. يؤدي المركز إلى المستودع الرئيسي للتخزين من الاختبارات بينما تؤدي العناصر إلى مثاليات Selenium، تنفيذ هذه الاختبارات وفقاً للإشراف الذي يقوم به المركز. يتم تثبيت Selenium Grid من خلال تحميل ملف الخدمة اليابية للSelenium، نفس الملف الذي يستخدم لتشغيل الاختبارات Selenium RC. لتأكد من تشغيل المركز أو عدمه، يمكن الحصول عليه عن طريق الرابط الأولي أو متصفح الشبكية. للقيام بتنفيذ الجداول الاختبارية على الشبكة، يتوجب استخدام المواهب المطلوبةوالقائمة القيادة عن بعدالأشياء. مواهب المطلوبةت configures نوع المتصفح والنظام التحكمي للتوسيع، بينما قائمة القيادة عن بعدتحدد العنصر أو الآلة للقيام باختباراتنا.

Source:
https://dzone.com/articles/selenium-grid-tutorial