پرش به محتوای اصلی

سرویس پروفایل فایرفاکس

آیا می‌خواهید مرورگر فایرفاکس خود را با افزونه خاصی اجرا کنید یا نیاز دارید چند ترجیح تنظیم کنید؟ سلنیوم به شما امکان می‌دهد از یک پروفایل برای مرورگر فایرفاکس استفاده کنید با ارسال این پروفایل به صورت رشته base64 به ویژگی moz:firefoxOptions.profile در قابلیت‌های مورد نظر خود. این کار نیازمند ساخت آن پروفایل و تبدیل آن به base64 است. این سرویس برای wdio testrunner زحمت کامپایل کردن پروفایل را از دست شما خارج می‌کند و به شما اجازه می‌دهد گزینه‌های مورد نظر خود را به راحتی از فایل wdio.conf.js تعریف کنید.

برای یافتن تمام گزینه‌های ممکن، صفحه about:config را در مرورگر فایرفاکس خود باز کنید یا به وب‌سایت mozillaZine بروید تا تمام مستندات درباره هر تنظیم را پیدا کنید. علاوه بر این، می‌توانید افزونه‌های کامپایل شده فایرفاکس (به صورت *.xpi) را تعریف کنید که باید قبل از شروع تست نصب شوند.

نصب

ساده‌ترین راه این است که @wdio/firefox-profile-service را به عنوان یک devDependency در 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

proxy

تنظیمات پراکسی شبکه را تنظیم کنید. پارامتر proxy یک هش است که ساختار آن به مقدار کلید اجباری proxyType بستگی دارد، که یکی از مقادیر رشته‌ای زیر را می‌گیرد:

  • direct - اتصال مستقیم (بدون پراکسی)
  • system - استفاده از تنظیمات پراکسی سیستم عامل
  • pac - استفاده از پیکربندی خودکار پراکسی تنظیم شده بر اساس مقدار کلید autoconfigUrl
  • manual - تنظیمات دستی پراکسی که جداگانه برای پروتکل‌های مختلف با استفاده از مقادیر کلیدهای زیر تعریف شده است: ftpProxy، httpProxy، sslProxy، socksProxy

نوع: Object
پیش‌فرض: null
مثال:

  • پراکسی خودکار:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'pac',
    autoconfigUrl: 'http://myserver/proxy.pac'
    }
    }]
    ],
    // ...
    };
  • پراکسی HTTP دستی:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'manual',
    httpProxy: '127.0.0.1:8080'
    }
    }]
    ],
    // ...
    };
  • پراکسی HTTP و HTTPS دستی:

    // wdio.conf.js
    export const config = {
    // ...
    services: [
    ['firefox-profile', {
    proxy: {
    proxyType: 'manual',
    httpProxy: '127.0.0.1:8080',
    sslProxy: '127.0.0.1:8080'
    }
    }]
    ],
    // ...
    };

legacy

لطفاً اگر از فایرفاکس نسخه 55 یا پایین‌تر استفاده می‌کنید، این پرچم را روی true تنظیم کنید.

نوع: Boolean
پیش‌فرض: false


برای اطلاعات بیشتر در مورد WebdriverIO به صفحه اصلی مراجعه کنید.

Welcome! How can I help?

WebdriverIO AI Copilot