Firefox固有のコマンド

The FirefoxDriver は、"特権"付きJavaScriptコードを実行するためのコンテキストの設定や、アドオンの操作など、いくつかの固有のコマンドを公開しています。これらは現在、Nightwatchで直接、`firefox`名前空間で利用できます。

browser.firefox

詳細情報

Firefoxプロファイルのカスタマイズ

Firefox WebDriverインスタンスは匿名プロファイルで作成され、ブラウザ履歴がセッションデータ(Cookie、履歴、キャッシュ、オフラインストレージなど)を共有しないようにします。

各WebDriverセッションで使用されるプロファイルは、SeleniumのOptionsクラスを使用して構成できます。Nightwatch 2は、`selenium-webdriver`ライブラリで作成されたオプションオブジェクトを完全にサポートしています。

既存のFirefoxプロファイルは変更されません。代わりに、WebDriverは変更するためのコピーを作成します。WebDriverが正しく機能するためには、特定のブラウザ設定が必要であり、それらは常に上書きされます。

Firefox拡張機能のインストール

Firebugという拡張機能をインストールする必要があるとします。`nightwatch.conf.js`では、Optionsクラスを使用して、WebDriverセッションを次のように構成できます。

const firefox = require('selenium-webdriver/firefox');

const options = new firefox.Options() .addExtensions('../../../path/to/firebug.xpi') .setPreference('extensions.firebug.showChromeErrors', true);

module.exports = { src_folders: ['tests'], test_settings: { default: { browserName: 'firefox', desiredCapabilities: options } } };

または関数として

module.exports = {
  src_folders: ['tests'],
  test_settings: {
    default: {
      browserName: 'firefox',
      desiredCapabilities() {
        const firefox = require('selenium-webdriver/firefox');

    const options = new firefox.Options()
      .addExtensions('../../../path/to/firebug.xpi')
      .setPreference('extensions.firebug.showChromeErrors', true);
    
    return options;
  }
}

} };