Вам необходимо настроить список extensions
внутри chromeOptions
:
capabilities {
'browserName': 'chrome',
'chromeOptions': {
'extensions': ['base64 encoded extension']
}
}
Обратите внимание, что в extensions
важно предоставить список упакованных расширений Chrome в кодировке base-64.
Чтобы получить расширение в кодировке base64, необходимо прочитать файл расширения .ctx
и закодировать содержимое с помощью base64
. Например, используя питон:
>>> import base64
>>> data = open('path_to_the_ctx_extension').read()
>>> base64.standard_b64encode(data).decode('UTF-8')
# outputs the encoded chrome extension which you can paste in the config
Или, проще, создайте файл helper.js
, используя fs
и q
:
var q = require('q');
var fs = require('fs');
exports.getCapabilities = function (filename) {
var deferred = q.defer();
fs.readFile(filename, function (err, data) {
var capabilities = {
'browserName': 'chrome',
'chromeOptions': {
extensions: [
data.toString('base64')
]
}
};
deferred.resolve(capabilities);
});
return deferred.promise;
};
Затем в конфигурации транспортира используйте эту функцию getCapabilities()
, чтобы получить возможности:
var helper = require('./helper.js');
exports.config = {
capabilities: helper.getCapabilities('/path/to/crx/extension'),
...
}
В настоящее время он работает с одним расширением, поэтому есть возможности для улучшения.
Кроме того, просмотрите следующий вопрос, если у вас есть проблемы:
person
alecxe
schedule
03.12.2014