القدرات المطلوبة في السيلينيوم WebDriver

ما هي القدرات المطلوبة؟

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

  • يمكن أيضًا استخدام الإمكانية المطلوبة لتكوين مثيل برنامج التشغيل الخاص بـ Selenium WebDriver.
  • يمكننا تكوين مثيل برنامج التشغيل مثل FirefoxDriver وChromeDriver وInternetExplorerDriver باستخدام الإمكانات المطلوبة.

لماذا نحتاج إلى القدرات المرغوبة؟

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

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

على سبيل المثال: الشبكة

القدرات المطلوبة في السيلينيوم WebDriver

يتم استخدامه لتعيين خصائص المتصفح (مثل Chrome، IE)، واسم النظام الأساسي (مثل Linux، Windows) التي يتم استخدامها أثناء تنفيذ حالات الاختبار.

في حالة أتمتة الهاتف المحمول، نظرًا لأننا نجري الاختبارات على أنواع مختلفة من الأجهزة المحمولة، يمكن تعيين إصدار النظام الأساسي للهاتف المحمول (مثل iOS وAndroid) (مثل 3.x و4.x في Android).

القدرات المطلوبة في السيلينيوم WebDriver

يوضح مثال المحاكي أعلاه مجموعة النظام الأساسي وهي android ومجموعة إصدار النظام الأساسي وهي IceCream Sandwich (4.x).

تكون القدرات المرغوبة أكثر فائدة في حالات مثل:

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

أنواع طرق القدرات المرغوبة

سنرى هنا نوعاً مختلفاً من أساليب القدرات المطلوبة ونرى كيفية استخدام إحدى هذه الطريقة “طريقة ضبط القدرة".

#1) اسم المتصفح ()

public java.lang.String getBrowserName()

#2) اسم المتصفح ()

public void setBrowserName(java.lang.String browserName)

#3) الحصول على النسخة ()

public java.lang.String getVersion()

#4) سيتفيرسيون ()

public void setVersion(java.lang.String version)

#5) الحصول على المنصة ()

public Platform getPlatform()

#6) سيتبلاتفورم ()

public Platform setPlatform()

#7) طريقة getCapability()

يمكن استخدام طريقة getCapability() لفئة DesiredCapabilities للحصول على الإمكانية المستخدمة حاليًا في النظام.

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) طريقة setCapability()

طريقة setCapability (). يتم استخدام فئة Desired Capabilities لتعيين خاصية بيئة الاختبار مثل اسم الجهاز، واسم نظام التشغيل وإصداره، واسم المتصفح وإصداره، والمسار المطلق للتطبيق قيد الاختبار (ملف .apk لتطبيق Android قيد الاختبار)، والتطبيق النشاط (في Android) وappPackage (في Java).

"طريقة ضبط القدرة" in جافا لديه الإعلانات التالية:

setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability  :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability  :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability  :public void setCapability(java.lang.String key,java.lang.Object value)

تعيين القدرة في مثال السيلينيوم

دعونا نفكر في مثال حيث نريد تشغيل ملفنا حالة الاختبار على متصفح إنترنت إكسبلورر لفتح www.gmailموقع .com باستخدام السيلينيوم Webdriver.

فولوwing هو الكود.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {
  
WebDriver driver = new InternetExplorerDriver();
 driver.manage().window().maximize();
 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

الآن قم بتشغيل هذا الكود من Eclipse وتحقق من وحدة التحكم.

الإخراج:

وسوف يرمي فولوwing خطأ عند تنفيذ التعليمات البرمجية أعلاه. يحدث الخطأ بسبب عدم تعيين المسار إلى برنامج تشغيل المتصفح (IE في الحالة المذكورة أعلاه). لا يمكن تحديد موقع المتصفح بواسطة رمز السيلينيوم.

The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list

Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.

الحلول:

يتم تقديم حل المشكلة المذكورة أعلاه في قسم التحذير الخاص بالخطأ نفسه.

  • قم بتنزيل خادم Internet ExplorerDriver المستقل للإصدار 32 بت أو 64 بت.
  • حفظ السائق في مكان مناسب في النظام.
  • قم بتعيين المسار للسائق باستخدام System.setProperty الأسلوب.
  • يتم استخدامه لتعيين برنامج تشغيل IE باستخدام خاصية webdriver. يساعد على تحديد موقع الملف القابل للتنفيذ لبرنامج التشغيل والمخزن في موقع النظام. (على سبيل المثال: "C:\IEDriverLocation\IEDriver.exe")
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {

//it is used to define IE capability 
 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
  
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
  INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);


System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
  
 //it is used to initialize the IE driver
 WebDriver driver = new InternetExplorerDriver(capabilities);
  
 driver.manage().window().maximize();

 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

شرح الكود:

في الكود أعلاه ،

  • تهدف بيانات الاستيراد إلى استيراد الحزم المطلوبة لبرنامج تشغيل الويب السيلينيوم، والحزم المطلوبة لبرنامج تشغيل Internet Explorer، وحزم الإمكانات المطلوبة.
  • يأخذ setCapability القدرات المختلفة كمتغيرات إدخال والتي يستخدمها بعد ذلك برنامج تشغيل الويب لتشغيل التطبيق في البيئة المطلوبة.
  • يتم استخدام setProperty لتعيين المسار حيث يوجد برنامج التشغيل. يقوم Web Driver بعد ذلك بتحديد موقع برنامج التشغيل المطلوب.
  • Gmail يتم فتح موقع الويب في متصفح Internet Explorer باستخدام طريقة "get".

الإخراج:

سيتم تشغيل حالة الاختبار على متصفح Internet Explorer بنجاح باستخدام Selenium Webdriver.

وفي الختام

ستساعد فئة القدرات المرغوبة في تعيين بيئة لتحديد سلوك المتصفح/البيئة التي يمكن تنفيذ الاختبار عليها.

إنه يساعد على إطلاق تطبيقنا في البيئة المرغوبة مع وجود الإمكانيات التي نرغب في استخدامها.