Selenium برنامج تعليمي للغة C#: إطار عمل NUnit مع مثال
⚡ ملخص ذكي
Selenium يقوم WebDriver بتشغيل المتصفحات من C# من خلال واجهة IWebDriver، بينما يوفر NUnit سمات الاختبار والتأكيدات وتقارير Test Explorer التي تحول خطوات المتصفح هذه إلى اختبارات آلية قابلة للتكرار.

Selenium نظرة عامة
Selenium هو مفتوح المصدر، على شبكة الإنترنت اختبار الأتمتة أداة تدعم متصفحات متعددة وأنظمة تشغيل متعددة. وهي تسمح للمختبرين باستخدام لغات برمجة متعددة مثل Java، C #، Pythonتُستخدم لغات البرمجة Ruby وPHP وPerl لكتابة اختبارات مؤتمتة. إذا كنت جديدًا على هذه الأداة، فابدأ بـ Selenium البرنامج التعليمي و مبادئ السلوك مقارنة بين WebDriver Selenium مقارنة RC.
Selenium يوفر عنصر التحكم في المتصفح؛ واللغة التي تستخدمها لتشغيله توفر البنية.
نظرة عامة على لغة C#
C# هي لغة برمجة موجهة للكائنات مشتقة من C++ و Javaتتيح لغة C# للمطورين إنشاء تطبيقات باستخدام Visual Studio على منصة .NET. فيما يلي الميزات الرئيسية لـ C#.
- وهي لغة برمجة كائنية التوجه
- يدعم تطوير تطبيقات لوحة التحكم والويندوز والويب
- ويوفر ميزات مثل التغليف والميراث وتعدد الأشكال.
قبل التوصيل Selenium في هذا السياق، يساعد ذلك على التعرف على شكل برنامج C# عادي.
بناء الجملة الأساسي لـ C#
يجب أن يحتوي البرنامج المكتوب بلغة C# على الأقسام التالية
- إعلان مساحة الاسم
- الحصص
- سمات الطبقة والأساليب
- الطريقة الرئيسية
- تصريحات البرنامج
مثال-
يوجد أدناه عينة Selenium مثال لبرنامج مكتوب بلغة C# لطباعة النص 'Guru99' على وحدة التحكم بالنظام.
using System; namespace FirstProgram { class DemoPrint { static void main(){ Console.WriteLine("Guru99"); } } }
التفسير:
- مساحة الاسم في ما سبق Selenium مثال C# عبارة عن مجموعة من الفئات المتعددة. يجب الإعلان عن كل مساحة اسم باستخدام الكلمة الأساسية "باستخدام".
- يتضمن البيان الأول من الكود مساحة الاسم "النظام" في برنامجنا. تحدد مساحة اسم النظام الفئات والأحداث الأساسية المستخدمة في C#. تعتمد مساحة الاسم المستخدمة على متطلبات البرنامج.
- البيان الثاني يعلن عن مساحة الاسم "FirstProgram" للفئة "DemoPrint". يمكن أن يحتوي ملف AC# على فئات متعددة ضمن نفس مساحة الاسم.
- يتضمن البيان الثالث إعلان الفصل. قد تحتوي الفئة على سمات متعددة وطرق متعددة.
- يتضمن البيان الرابع إعلانًا للطريقة الرئيسية. الطريقة الرئيسية هي نقطة الدخول للتنفيذ لكل فئة.
- العبارة الأخيرة هي صيغة لغة C# المستخدمة لطباعة عبارة على وحدة التحكم. WriteLine هي إحدى طرق...
Consoleفئة. لاحظ أن نقطة الدخول مكتوبة هكذاMainبحرف M كبير في لغة C# الحقيقية؛ وحرف M صغيرmainلن يتم التعرف على المثال أعلاه كنقطة دخول.
بعد أن أصبح بناء الجملة واضحًا، فإن المهمة التالية هي تثبيت الأدوات التي تقوم بتجميع وتشغيل تلك الاختبارات.
Selenium مع إعداد C#
كيفية إعداد Visual Studio باستخدام Selenium برنامج تشغيل الويب:
الآن في هذا Selenium دروس C#، دعنا نتعلم العملية خطوة بخطوة لإعداد Visual Studio مع Selenium برنامج تشغيل الويب:
Visual Studio عبارة عن بيئة تطوير متكاملة (IDE) يستخدمها المطورون لبناء تطبيقات عبر منصات متعددة مثل Windows, Androidوالتطبيقات المستندة إلى iOS والتطبيقات السحابية.
الخطوة 1) انتقل إلى URL
https://visualstudio.microsoft.com/downloads/ وانقر فوق "تنزيل مجاني" الزر المعروض في علامة التبويب مجتمع Visual Studio
الخطوة 2) افتح الملف الذي تم تنزيله. انقر فوق "نعم" إذا طُلب منك حقوق المسؤول.
الخطوة 3) ستظهر النافذة المنبثقة أدناه. انقر على زر "متابعة".
سيتم تنزيل الملفات كما هو موضح في النافذة المنبثقة أدناه.
الخطوة 4) في الشاشة التالية ،
حدد مربعات الاختيار لـ
- يونيفرسال Windows تطوير المنصة
- تطوير سطح مكتب .NET
انقر فوق "تثبيت".
انتظر حتى يكتمل تثبيت كل مكون. يبلغ حجم الملفات 16 جيجابايت وستستغرق بعض الوقت.
الخطوة 5) ستظهر النافذة المنبثقة أدناه. انقر فوق زر "إعادة التشغيل".
الخطوة 6) بمجرد إعادة تشغيل الجهاز، ابحث عن "Visual Studio" في قائمة "ابدأ" وانقر على نتيجة البحث. ستظهر النافذة المنبثقة التالية. انقر على رابط "ليس الآن، ربما لاحقًا" إذا لم يكن لديك حساب موجود.
الخطوة 7) في الشاشة التالية ،
- حدد موضوع اللون الذي تفضله
- انقر على زر "بدء تشغيل Visual Studio"
الخطوة 8) ستظهر شاشة "البدء" في Visual Studio.
إنشاء مشروع جديد في Visual Studio:
الخطوة 1) في القائمة ملف، انقر فوق جديد > المشروع
الخطوة 2) في الشاشة التالية ،
- حدد الخيار "Visual C#"
- انقر فوق تطبيق وحدة التحكم (.Net Framework)
- أدخل الاسم كـ "Guru99 "
- انقر OK
الخطوة 3) سيتم عرض الشاشة أدناه بمجرد إنشاء المشروع بنجاح.
إعداد Visual Studio باستخدام Selenium برنامج تشغيل الويب:
الخطوة 1) انتقل إلى الأدوات -> NuGet مدير الحزم -> إدارة NuGet حزم للحل
الخطوة 2) في الشاشة التالية
- البحث عن Selenium على الشاشة الناتجة
- حدد نتيجة البحث الأولى
- حدد مربع الاختيار الخاص بالمشروع
- انقر فوق "تثبيت"
الخطوة 3) انقر على زر "موافق" في الشاشة المنبثقة
الخطوة 4) سيتم عرض الرسالة أدناه بمجرد تثبيت الحزمة بنجاح.
Selenium يمكن الآن فتح المتصفح، لكن لا يمكن بعد الإبلاغ عما إذا كان الاختبار قد نجح أم لا. هذه هي مهمة إطار عمل اختبار الوحدات.
إطار عمل NUnit: نظرة عامة
NUnit هو وحدة التجارب الإطار الذي يدعمه Visual Studio و Selenium WebDriver. يُعد NUnit إطار عمل اختبار الوحدات الأكثر استخدامًا لتطبيقات .NET. يعرض NUnit نتائج الاختبار بتنسيق سهل القراءة، ويتيح للمختبِر تصحيح أخطاء الاختبارات الآلية.
نحتاج إلى تثبيت إطار عمل NUnit ومحول اختبار NUnit على Visual Studio لاستخدامه.
خطوات تثبيت NUnit Framework
الآن في هذا Selenium باستخدام البرنامج التعليمي C#، دعنا نتعلم عملية تثبيت إطار عمل NUnit:
الخطوة 1) انتقل إلى الأدوات -> NuGet مدير الحزم -> إدارة NuGet حزم للحل
الخطوة 2) في النافذة التالية
- ابحث عن NUnit
- حدد نتيجة البحث
- حدد المشروع
- انقر على تثبيت
الخطوة 3) ستظهر النافذة المنبثقة أدناه. انقر على زر "موافق".
الخطوة 4) ستظهر الرسالة أدناه بمجرد اكتمال التثبيت.
خطوات تنزيل محول اختبار NUnit
الآن في هذا البرنامج التعليمي لـ NUnit، سنغطي خطوات تنزيل NUnit Test Adaptor:
يرجى ملاحظة أن الخطوات التالية لا تنطبق إلا على الأجهزة ذات 32 بت. أما بالنسبة للأجهزة ذات 64 بت، فيتعين عليك تنزيل "محول اختبار NUnit3" باتباع نفس العملية المذكورة أدناه.
الباقات الحالية: مشروع حديث يقوم بالتركيب محول اختبار NUnit3 مع Microsoft.NET.Test.Sdkوالأقدم محول اختبار NUnit لم تعد الحزمة مدعومة. في .NET (Core)، يمكن إنشاء هيكل المشروع بالكامل باستخدام dotnet new nunit، والذي يضيف جميع الحزم الثلاث نيابةً عنك.
الخطوة 1) انتقل إلى الأدوات ->NuGet مدير الحزم -> إدارة NuGet حزم للحل. في تلك الشاشة،
- ابحث في NUnitTestAdapter
- انقر فوق نتيجة البحث
- حدد المشروع
- انقر على تثبيت
الخطوة 2) انقر فوق "موافق" في النافذة المنبثقة للتأكيد. بمجرد الانتهاء من التثبيت، سترى الرسالة التالية:
تم تثبيت كلا الجزأين، لذا فإن الخطوة التالية هي دمجهما في فئة اختبار واحدة.
Selenium وإطار عمل NUnit
يتيح دمج Selenium مع إطار عمل NUnit للمختبر التمييز بين فئات الاختبار المختلفة. كما يسمح NUnit للمختبرين باستخدام التعليقات التوضيحية مثل SetUp وTest وTearDown لأداء الإجراءات قبل وبعد تشغيل الاختبار.
يمكن دمج إطار عمل NUnit مع Selenium عن طريق إنشاء فئة اختبار NUnit وتشغيل فئة الاختبار باستخدام إطار عمل NUnit. Java يتم تغطية ما يعادل هذا النمط في JUnit برنامج تعليمي لإطار العملويتم مناقشة بديل NUnit في بيئة .NET داخل Visual Studio إلى جانب ذلك TestNG لـ Selenium.
أدناه الخطوات في هذا Selenium هناك حاجة إلى برنامج تعليمي لإطار عمل C# لإنشاء فئة اختبار وتشغيلها باستخدام إطار عمل NUnit.
خطوات إنشاء فئة اختبار NUnit في Selenium:
الخطوة 1) في مستكشف الحلول، انقر بزر الماوس الأيمن على المشروع > إضافة > فئة
الخطوة 2) ستظهر نافذة إنشاء الفصل.
- توفير اسم للفئة
- انقر على زر إضافة
الخطوة 3) سوف تظهر الشاشة أدناه.
الخطوة 4) أضف الكود التالي إلى الفئة التي أنشأتها. يُرجى ملاحظة أنه يجب عليك تحديد موقع ملف 'chromedriver.exe' أثناء تهيئة برنامج تشغيل Chrome. Selenium 4.6 والإصدارات الأحدث Selenium كلمة المديروالذي يقوم بحل مشكلة برنامج التشغيل المطابق تلقائيًا، لذلك new ChromeDriver() النموذج الحالي هو بدون وسيطة مسار — تم الاحتفاظ بالمسار أدناه لأنه يطابق لقطات الشاشة.
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Firefox; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class Guru99Demo { IWebDriver driver; [SetUp] public void startBrowser() { driver = new ChromeDriver("D:\\3rdparty\\chrome"); } [Test] public void test() { driver.Url = "http://www.google.co.in"; } [TearDown] public void closeBrowser() { driver.Close(); } } }
الخطوة 4) انقر فوق "إنشاء" -> "إنشاء الحل"
NOTE: قد تحصل على خطأ مثل "لا يحتوي على طريقة "رئيسية" ثابتة مناسبة لنقطة دخول" عند الإنشاء
لحل هذه المشكلة، انتقل إلى المشروع > الخصائص وقم بتغيير نوع الإخراج إلى "مكتبة الفئات". الإعداد الافتراضي هو "تطبيق وحدة التحكم".
الخطوة 5) بمجرد نجاح البناء، نحتاج إلى فتح نافذة Test Explorer. انقر فوق اختبار -> Windows -> اختبار المستكشف
الخطوة 6) يتم فتح نافذة Test Explorer مع قائمة الاختبارات المتاحة. انقر بزر الماوس الأيمن على Test Explorer وحدد Run Selected Tests
الخطوة 7) Selenium يجب فتح المتصفح باستخدام الإعدادات المحددة URL ثم أغلق المتصفح. ستتغير حالة حالة الاختبار إلى "ناجح" في نافذة مستكشف الاختبار.
يُثبت اجتياز الاختبار أن نظام السباكة يعمل بشكل صحيح. فيما يلي المصطلحات التي ستستخدمها فعليًا في كتابة الاختبارات.
Selenium أوامر WebDriver في C#
تستخدم لغة C# الواجهة "IWebDriver" للتفاعل مع المتصفح. فيما يلي فئات الأوامر المتاحة مع Selenium في C #.
- أوامر المتصفح
- أوامر عنصر الويب
- أوامر المنسدلة
الآن في هذا Selenium درس تعليمي للغة C#، دعونا ندرس Selenium أوامر WebDriver واحدة تلو الأخرى. Java يتم توضيح النظراء في هذا أول شخصية WebDriver تجول.
الأوامر أدناه لا تزال سارية المفعول IWebDriver السطح في Selenium 4، لذا فإن الصيغة تنتقل دون تغيير.
أوامر المتصفح:
فيما يلي قائمة بأوامر المتصفح المتوفرة في C# مع Selenium.
| اسم الأمر | الوصف | بناء الجملة |
|---|---|---|
| أمر URL | يُستخدم هذا الأمر لفتح ملف محدد URL في المتصفح. |
driver.Url = "https://www.guru99.com"
|
| أمر العنوان | يُستخدم هذا الأمر لاسترداد عنوان الصفحة لصفحة الويب المفتوحة حاليًا |
String title = driver.Title
|
| أمر مصدر الصفحة | يُستخدم هذا الأمر لاسترداد الكود المصدري لصفحة الويب المفتوحة حاليًا. |
String pageSource = driver.PageSource
|
| إغلاق الأمر | يُستخدم هذا الأمر لإغلاق مثيل المتصفح الذي تم فتحه مؤخرًا. |
driver.Close(); |
| قم بإنهاء الأمر | يُستخدم هذا الأمر لإغلاق جميع مثيلات المتصفح المفتوحة |
driver.Quit(); |
| الأمر الخلفي | يتم استخدام هذا الأمر للانتقال إلى الصفحة السابقة لسجل المتصفح. |
driver.Navigate().Back(); |
| القيادة إلى الأمام | يُستخدم هذا الأمر للانتقال إلى الصفحة التالية من سجل المتصفح. |
driver.Navigate().Forward() |
| تحديث الأمر | يُستخدم هذا الأمر لتحديث المتصفح. |
driver.Navigate().Refresh() |
تعمل أوامر المتصفح على النافذة؛ أما المجموعة التالية فتعمل على ما بداخلها.
أوامر عناصر الويب
يمثل عنصر الويب أي عنصر على صفحة الويب. ويتم تمثيلها بواسطة وسوم HTML. الأزرار، ومربعات النصوص، والروابط، والصور، والجداول، والإطارات كلها عناصر ويب. Operaيتم تفعيل العمليات على تلك العناصر من خلال IWebElement واجهة. للتفاعل مع عنصر ويب، نقوم أولاً ابحث عن العنصر على الصفحة، ثم قم بإجراء عملية عليها. الاستراتيجيات المتاحة مُغطاة في محددات المواقع في Seleniumيمكن استخدام أدوات مطوري المتصفح - أو إضافات Firebug وFirepath القديمة التي تسبقها لقطات الشاشة أدناه - لتحديد كسباث من عنصر ويب.
فيما يلي أوامر WebElement المتوفرة في لغة C#.
| اسم الأمر | الوصف | بناء الجملة |
|---|---|---|
| انقر فوق الأمر | يستخدم هذا الأمر للنقر على عنصر ويب. لكي يكون العنصر قابلاً للنقر، يجب أن يكون العنصر مرئيًا على صفحة الويب. يستخدم هذا الأمر أيضًا لعمليات مربع الاختيار وأزرار الاختيار. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.Click();
|
| أمر واضح | يتم استخدام هذا الأمر خصيصًا لمسح محتويات مربعات النص الموجودة. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement"));
element.Clear();
|
| أمر إرسال المفاتيح | يستخدم هذا الأمر لإدخال قيمة في مربعات النص. يجب تمرير القيمة المراد إدخالها كمعلمة إلى |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.SendKeys("guru99"); |
| الأمر المعروض | يستخدم هذا الأمر لتحديد ما إذا كان يتم عرض عنصر معين على صفحة الويب. يعيد هذا الأمر قيمة منطقية؛ true أو false حسب إمكانية رؤية عنصر الويب. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Displayed; |
| أمر ممكّن | يُستخدم هذا الأمر لتحديد ما إذا تم تمكين عنصر ويب معين على صفحة الويب. يقوم هذا الأمر بإرجاع قيمة منطقية؛ صحيحة أو خاطئة نتيجة لذلك. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Enabled; |
| الأمر المحدد | يُستخدم هذا الأمر لتحديد ما إذا كان عنصر ويب معين مُحددًا. ويُستخدم هذا الأمر مع مربعات الاختيار، وأزرار الاختيار، وعمليات التحديد. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); Boolean status = element.Selected; |
| إرسال الأمر: | هذا الأمر مشابه لأمر النقر، والفرق يكمن في ما إذا كان نموذج HTML يحتوي على زر من النوع إرسال. بينما ينقر أمر النقر على أي زر، ينقر أمر الإرسال على الأزرار التي تحمل النوع إرسال فقط. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); element.submit();
|
| أمر نصي | يقوم هذا الأمر بإرجاع النص الداخلي لعنصر Webelement. يقوم هذا الأمر بإرجاع قيمة سلسلة نتيجة لذلك. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String text=element.Text; |
| أمر TagName | يقوم هذا الأمر بإرجاع علامة HTML لعنصر الويب. تقوم بإرجاع قيمة سلسلة كنتيجة. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String tagName = element.TagName; |
| أمر GetCSSValue: | تُستخدم هذه الطريقة لإرجاع لون عنصر الويب على شكل سلسلة rgba (الأحمر والأخضر والأزرق وألفا). |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); String color = element.getCSSValue; الناتج- إذا كان لون العنصر أحمر، فسيكون الناتج rgba(255,0,0,1) |
ملاحظة حول العينات أعلاه: يُعيد الجدول إنتاج الصيغة الأصلية. في الوضع الحالي Selenium في .NET، تُكتب أسماء الأعضاء بأحرف كبيرة وصغيرة (Pascal-case). element.Submit() و element.GetCssValue("color") - و GetCssValue يأخذ اسم خاصية CSS كوسيط.
أوامر القائمة المنسدلة:
يمكن تنفيذ عمليات القائمة المنسدلة في C# باستخدام فئة SelectElement.
فيما يلي عمليات القائمة المنسدلة المختلفة المتوفرة في C#.
| اسم الأمر | الوصف | بناء الجملة |
|---|---|---|
| الأمر SelectByText | يحدد هذا الأمر خيارًا من القائمة المنسدلة بناءً على نص الخيار. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByText("Guru99"); |
| أمر SelectByIndex | يتم استخدام هذا الأمر لتحديد خيار بناءً على فهرسه. يبدأ مؤشر القائمة المنسدلة عند 0. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByIndex("4"); |
| الأمر SelectByValue | يتم استخدام هذا الأمر لتحديد خيار بناءً على قيمة الخيار الخاصة به. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.SelectByValue("Guru99"); |
| أمر الخيارات | يتم استخدام هذا الأمر لاسترجاع قائمة الخيارات المعروضة في القائمة المنسدلة. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); List<IWebelement> options = select. Options; int size = options.Count; for(int i=0;i<options.size();i++) { String value = size.elementAt(i).Text; Console.writeLine(value); } يطبع الكود أعلاه جميع الخيارات على وحدة التحكم ضمن القائمة المنسدلة. |
| أمر متعدد | يُستخدم هذا الأمر لتحديد ما إذا كانت القائمة المنسدلة متعددة الخيارات؛ حيث تتيح القائمة المنسدلة متعددة الخيارات للمستخدم اختيار أكثر من خيار في الوقت نفسه. يُرجع هذا الأمر قيمة منطقية (Boolean). |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); Boolean status = select.IsMultiple(); |
| الأمر ديسيلكتال | يتم استخدام هذا الأمر في القوائم المنسدلة متعددة التحديد. يقوم بمسح الخيارات التي تم تحديدها بالفعل. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectAll(); |
| أمر دي سيليكت باي إندكس | يقوم هذا الأمر بإلغاء تحديد القيمة المحددة بالفعل باستخدام الفهرس الخاص بها. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByIndex("4"); |
| الأمر ديسيليكتبيفالو | يقوم هذا الأمر بإلغاء تحديد قيمة محددة بالفعل باستخدام قيمتها. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByValue("Guru99"); |
| الأمر ديسيليكتبيتيكست | يقوم هذا الأمر بإلغاء تحديد القيمة المحددة بالفعل باستخدام النص الخاص بها. |
IWebelement element = driver.FindElement(By.xpath("xpath of Webelement")); SelectElement select = new SelectElement(element); select.DeSelectByText("Guru99"); |
تقوم البرامج النصية الأربعة أدناه بتنفيذ الأوامر المذكورة أعلاه ضد Guru99 موقعًا تجريبيًا. كل منها عبارة عن فئة اختبار NUnit كاملة وقابلة للتنفيذ.
Code عينات
مثال 1: انقر على الرابط باستخدام XPATH Locator:
سيناريو الاختبار:
- انتقل إلى العرض التوضيحي Guru99 صفحة ويب – https://demo.guru99.com/test/guru99home/
- تكبير النافذة
- انقر على قائمة "الاختبار".
- أغلق المتصفح
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("D:\\3rdparty\\chrome"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); IWebelement link = m_driver.FindElement(By.XPath(".//*[@id='rt-header']//div[2]/div/ul/li[2]/a")); link.Click(); m_driver.Close(); } } }
مثال 2: إدخال البيانات في النصBox وانقر على زر باستخدام محدد موقع XPATH:
سيناريو الاختبار:
- انتقل إلى Guruصفحة العرض التوضيحي 99 – https://demo.guru99.com/test/guru99home/
- أدخل البيانات في مربع نص البريد الإلكتروني
- انقر على زر التسجيل
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); // Store locator values of email text box and sign up button IWebElement emailTextBox = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-email']")); IWebElement signUpButton = m_driver.FindElement(By.XPath(".//*[@id='philadelphia-field-submit']")); emailTextBox.SendKeys("test123@gmail.com"); signUpButton.Click(); } } }
مثال 3: إدخال البيانات في النصBox وانقر على زر باستخدام محدد موقع CSS:
سيناريو الاختبار:
- انتقل إلى Guruصفحة العرض التوضيحي 99 – https://demo.guru99.com/test/guru99home/
- أدخل البيانات في مربع نص البريد الإلكتروني
- انقر على زر التسجيل
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Guru99Demo { class CSS { IWebDriver m_driver; [Test] public void cssDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); // Store locator values of email text box and sign up button IWebElement emailTextBox = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-email]")); IWebElement signUpButton = m_driver.FindElement(By.CssSelector("input[id=philadelphia-field-submit]")); emailTextBox.SendKeys("test123@gmail.com"); signUpButton.Click(); } } }
المثال 4: حدد قيمة في القائمة المنسدلة:
سيناريو الاختبار:
- انتقل إلى Guruصفحة العرض التوضيحي 99 – https://demo.guru99.com/test/guru99home/
- انقر على SAP الصفحة
- أدخل البيانات في مربعات النص الخاصة بالاسم والبريد الإلكتروني
- حدد قيمة من القائمة المنسدلة للدورة التدريبية
- أغلق المتصفح
using NUnit.Framework; using OpenQA.Selenium; using OpenQA.Selenium.Chrome; using OpenQA.Selenium.Support.UI; namespace Guru99Demo { class TestSelect { IWebDriver m_driver; [Test] public void selectDemo() { m_driver = new ChromeDriver("G:\\"); m_driver.Url = "https://demo.guru99.com/test/guru99home/"; m_driver.Manage().Window.Maximize(); IWebElement course = m_driver.FindElement(By.XPath(".//*[@id='awf_field-91977689']")); var selectTest = new SelectElement(course); // Select a value from the dropdown selectTest.SelectByValue("sap-abap"); } } }
































