خدمة ملف تعريف فايرفوكس
هل تريد تشغيل متصفح فايرفوكس مع إضافة معينة أو تحتاج لضبط بعض التفضيلات؟ يسمح لك سيلينيوم باستخدام ملف تعريف لمتصفح فايرفوكس عن طريق تمرير هذا الملف كسلسلة base64
إلى خاصية moz:firefoxOptions.profile
في الإمكانيات المطلوبة. هذا يتطلب بناء ذلك الملف وتحويله إلى base64
. تأخذ هذه الخدمة لـ wdio testrunner عمل تجميع الملف من يديك وتتيح لك تحديد الخيارات المطلوبة بشكل مريح من ملف wdio.conf.js
.
للعثور على جميع الخيارات الممكنة، افتح about:config في متصفح فايرفوكس أو انتقل إلى موقع mozillaZine للعثور على التوثيق الكامل حول كل إعداد. بالإضافة إلى ذلك، يمكنك تحديد إضافات فايرفوكس المجمعة (كـ *.xpi
) التي يجب تثبيتها قبل بدء الاختبار.
التثبيت
الطريقة الأسهل هي الاحتفاظ بـ @wdio/firefox-profile-service
كاعتماد تطوير في ملف package.json
الخاص بك، عبر:
npm install @wdio/firefox-profile-service --save-dev
يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO
هنا.
التكوين
قم بإعداد ملفك الشخصي عن طريق إضافة خدمة firefox-profile
إلى قائمة الخدمات الخاصة بك. ثم حدد إعداداتك في خاصية firefoxProfile
بهذه الطريقة:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
extensions: [
'/path/to/extensionA.xpi', // مسار لملف .xpi
'/path/to/extensionB' // أو مسار لإضافة فايرفوكس غير مضغوطة
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriver.io',
legacy: true // استخدم فقط لفايرفوكس <= 55
}]
],
// ...
};
إذا قمت ببناء إضافة فايرفوكس مخصصة وتريد تثبيتها في المتصفح، تأكد من تعيين 'xpinstall.signatures.required': false
كعلامة ملف تعريف حيث يُطلب أن تكون إضافات فايرفوكس موقعة من قبل موزيلا.
لاستخدام إضافات مخصصة غير موقعة، ستحتاج أيضًا إلى استخدام فايرفوكس إصدار المطور لأن فايرفوكس العادي الإصدار 48 والأحدث لا يسمح بذلك.
الخيارات
تحتوي على جميع الإعدادات كأزواج قيمة ومفتاح. يمكنك العثور على جميع الإعدادات المتاحة في صفحة about:config
.
extensions
أضف واحدة أو عدة إضافات إلى جلسة المتصفح. يمكن أن تكون جميع الإدخالات إما مسارًا مطلقًا لملف .xpi
أو مسارًا لدليل إضافة فايرفوكس غير مضغوط.
النوع: String[]
الافتراضي: []
profileDirectory
إنشاء ملف تعريف فايرفوكس بناءً على ملف موجود عن طريق تعيين مسار مطلق لذلك الملف الشخصي.
النوع: String
الافتراضي: null