انتقل إلى المحتوى الرئيسي

ثنائيات التشغيل

لتشغيل التشغيل الآلي المعتمد على بروتوكول WebDriver، تحتاج إلى إعداد برامج تشغيل المتصفح التي تترجم أوامر التشغيل الآلي وتكون قادرة على تنفيذها في المتصفح.

الإعداد التلقائي

مع WebdriverIO v8.14 والإصدارات الأحدث، لم تعد هناك حاجة لتنزيل وإعداد أي برامج تشغيل متصفح يدويًا لأن WebdriverIO يتعامل مع هذا الأمر. كل ما عليك فعله هو تحديد المتصفح الذي تريد اختباره وسيقوم WebdriverIO بالباقي.

تخصيص مستوى التشغيل الآلي

لدى WebdriverIO ثلاثة مستويات من التشغيل الآلي:

1. تنزيل وتثبيت المتصفح باستخدام @puppeteer/browsers.

إذا قمت بتحديد مجموعة browserName/browserVersion في تكوين capabilities، سيقوم WebdriverIO بتنزيل وتثبيت المجموعة المطلوبة، بغض النظر عما إذا كان هناك تثبيت موجود على الجهاز. إذا حذفت browserVersion، سيحاول WebdriverIO أولاً تحديد موقع واستخدام تثبيت موجود باستخدام locate-app، وإلا فسيقوم بتنزيل وتثبيت إصدار المتصفح المستقر الحالي. لمزيد من التفاصيل حول browserVersion، انظر هنا.

تنبيه

لا يدعم الإعداد التلقائي للمتصفح Microsoft Edge. حاليًا، يتم دعم Chrome وChromium وFirefox فقط.

إذا كان لديك تثبيت متصفح في موقع لا يمكن الكشف عنه تلقائيًا بواسطة WebdriverIO، يمكنك تحديد الملف الثنائي للمتصفح الذي سيعطل التنزيل والتثبيت التلقائي.

{
capabilities: [
{
browserName: 'chrome', // or 'firefox' or 'chromium'
'goog:chromeOptions': { // or 'moz:firefoxOptions' or 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}

2. تنزيل وتثبيت برنامج التشغيل باستخدام Chromedriver أو Edgedriver أو Geckodriver.

سيقوم WebdriverIO دائمًا بذلك، ما لم يتم تحديد binary في التكوين:

{
capabilities: [
{
browserName: 'chrome', // or 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // or 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // or 'geckodriver', 'msedgedriver'
}
}
]
}
معلومات

لن يقوم WebdriverIO بتنزيل برنامج تشغيل Safari تلقائيًا لأنه مثبت بالفعل على macOS.

تنبيه

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

3. بدء/إيقاف برنامج التشغيل.

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

  • أي قيمة لـ port.
  • أي قيمة مختلفة عن الافتراضي لـ protocol أو hostname أو path.
  • أي قيمة لكل من user و key.

الإعداد اليدوي

فيما يلي وصف لكيفية إعداد كل برنامج تشغيل بشكل منفصل. يمكنك العثور على قائمة بجميع برامج التشغيل في ملف README الخاص بـ awesome-selenium.

نصيحة

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

Chromedriver

لتشغيل Chrome آليًا، يمكنك تنزيل Chromedriver مباشرة من موقع المشروع أو من خلال حزمة NPM:

npm install -g chromedriver

يمكنك بعد ذلك بدءه عبر:

chromedriver --port=4444 --verbose

Geckodriver

لتشغيل Firefox آليًا، قم بتنزيل أحدث إصدار من geckodriver لبيئتك وقم بفك ضغطه في دليل مشروعك:

npm install geckodriver

ملاحظة: تتوفر إصدارات أخرى من geckodriver هنا. بعد التنزيل، يمكنك بدء برنامج التشغيل عبر:

/path/to/binary/geckodriver --port 4444

Edgedriver

يمكنك تنزيل برنامج التشغيل لـ Microsoft Edge من موقع المشروع أو كحزمة NPM عبر:

npm install -g edgedriver
edgedriver --version # prints: Microsoft Edge WebDriver 115.0.1901.203 (a5a2b1779bcfe71f081bc9104cca968d420a89ac)

Safaridriver

يأتي Safaridriver مثبتًا مسبقًا على نظام MacOS الخاص بك ويمكن بدءه مباشرة عبر:

safaridriver -p 4444

Welcome! How can I help?

WebdriverIO AI Copilot