Как загрузить несколько расширений Chrome при выполнении тестов Nightwatch? - PullRequest
0 голосов
/ 28 апреля 2019

Я понял, как запустить одно расширение Chrome, используя следующее :

{
  "src_folders" : ["test"],
  "webdriver" : {
    "start_process": true,
    "server_path": "node_modules/.bin/chromedriver",
    "cli_args": ["--verbose"],
    "port": 9515
  },

  "test_settings" : {
    "default" : {
      "desiredCapabilities": {
        "browserName": "chrome",
        "chromeOptions" : {
          "args": [
            "--load-extension=/pathToFirstExtension",
          ]
        }
      }
    }
  }
}

Однако запуск двух расширений не работает . Я пробовал следующее :

  "args": [
            "--load-extension=/pathToFirstExtension, /pathToSecondExtension",
          ]

А это :

"args": [
            "--load-extension=/pathToFirstExtension", 
            "--load-extension=/pathToSecondExtension",
        ]

А это :

"args": [
            "--load-extension=/pathToFirstExtension /pathToSecondExtension",
        ]

А также строки в кодировке base64, разделенные запятыми в списке, подобном этому :

chromeOptions: {
          extensions: [
            keywords.base64,
            avgPrice.base64
          ]
        }

Я использую module.exports в отдельных файлах js, где строки в кодировке base64 находятся в объектах с ключом base64

Как загрузить несколько расширений Chrome для ночных часовых тестов ?

1 Ответ

0 голосов
/ 28 апреля 2019

Cuplrit - это пробел между строками, разделенными запятыми !

Если кто-нибудь сочтет это полезным - теперь это работает для меня :

const chromedriver = require('chromedriver');

module.exports = {
  src_folders : ["test"],
  test_settings: {
    default: {
      webdriver: {
        start_process: true,
        server_path: chromedriver.path,
        port: 4444,
        cli_args: ['--port=4444']
      },
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true,
        chromeOptions: {
          args: [
            "--load-extension=/pathToExtensionOne,/pathToExtensionTwo",
            "window-position=2560,0",
            "window-size=400,300"
          ]
        }
      }
    },
    chrome: {
      webdriver: {
        server_path: chromedriver.path
      },
      desiredCapabilities: {
        browserName: 'chrome',
        javascriptEnabled: true,
        acceptSslCerts: true,
        chromeOptions: {
          args: []
        }
      }
    }
  }
};

Я также могу установить размер / положение окна.

FWIW, я использую nightwatch.conf.js вместо nightwatch.json

В моем package.json :

  "scripts": {
    "nightwatch": "nightwatch -c ./nightwatch.conf.js"
  }

Чтобы запустить это, выполните следующее в терминале :

npm run nightwatch
...