メインコンテンツにスキップ

Firefox プロファイルサービス

特定の拡張機能を使用してFirefoxブラウザを実行したり、いくつかの設定を行いたいですか?Seleniumでは、このプロファイルをbase64文字列としてmoz:firefoxOptions.profileプロパティに渡すことで、Firefoxブラウザ用のプロファイルを使用できます。これには、そのプロファイルを構築してbase64に変換する必要があります。wdio testrunner用のこのサービスは、プロファイルのコンパイル作業を代行し、wdio.conf.jsファイルから快適に必要なオプションを定義できるようにします。

すべての可能なオプションを見つけるには、Firefoxブラウザでabout:configを開くか、mozillaZineウェブサイトにアクセスして、各設定に関する完全なドキュメントを確認してください。それに加えて、テスト開始前にインストールされるべきコンパイル済み(*.xpi形式)のFirefox拡張機能を定義することもできます。

インストール

最も簡単な方法は、package.json@wdio/firefox-profile-serviceをdevDependencyとして保持することです:

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' // または解凍済みのFirefox拡張機能へのパス
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriver.io',
legacy: true // firefox 55以下の場合のみ使用
}]
],
// ...
};

ブラウザにインストールするカスタムFirefox拡張機能を構築した場合は、Firefox拡張機能はMozillaによる署名が必要なため、プロファイルフラグとして'xpinstall.signatures.required': falseを設定してください。

カスタムの署名されていない拡張機能を使用するには、Firefox 48以降の通常版では許可されていないため、Firefox Developer Editionを使用する必要があります。

オプション

すべての設定をキーと値のペアとして含みます。すべての利用可能な設定はabout:configページで見つけることができます。

extensions

ブラウザセッションに1つまたは複数の拡張機能を追加します。すべてのエントリは、.xpiファイルへの絶対パスか、解凍済みのFirefox拡張機能ディレクトリへのパスのいずれかです。

タイプ: String[]
デフォルト: []

profileDirectory

既存のプロファイルに基づいてFirefoxプロファイルを作成するには、そのプロファイルへの絶対パスを設定します。

タイプ: String
デフォルト: null

proxy

ネットワークプロキシ設定を設定します。パラメータproxyはハッシュであり、その構造は必須キーproxyTypeの値に依存します。proxyTypeは以下の文字列値のいずれかを取ります:

  • direct - 直接接続(プロキシなし)
  • system - オペレーティングシステムのプロキシ設定を使用
  • pac - autoconfigUrlキーの値に基づいて設定された自動プロキシ構成を使用
  • manual - 以下のキーからの値を使用して、異なるプロトコルに対して個別に定義された手動プロキシ設定:ftpProxyhttpProxysslProxysocksProxy

タイプ: 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

Firefox v55以下を使用している場合は、このフラグをtrueに設定してください。

タイプ: Boolean
デフォルト: false


WebdriverIOの詳細については、ホームページをご覧ください。

Welcome! How can I help?

WebdriverIO AI Copilot