Я тестирую расширение хром с помощью selenium webdriver.js и chromedriver. Я смог успешно запустить хром, с установленным расширением, но идентификатор расширения генерируется случайным образом вместо соответствия key
свойства моего manifest.json. Это не позволяет тестировать дополнительные страницы, такие как страница параметров.Идентификатор расширения Chromedriver не совпадает с ключом в manifest.json
manifest.json
// ...
"key": "pjnhffdkdckcagdmfmidafhppbomjdjg", // id from chrome web store
// ...
test.js
var webdriver = require('selenium-webdriver');
var chrome = require('selenium-webdriver/chrome');
// load unpacked extension
var chromeOptions = new chrome.Options();
chromeOptions.addArguments('load-extension=/path/to/my/extension');
var service = new chrome.ServiceBuilder().build();
var driver = chrome.createDriver(chromeOptions, service)
// this page is not available T_T
driver.get('chrome-extension://pjnhffdkdckcagdmfmidafhppbomjdjg/html/options.html');
Мое предположение о том, что расширение идентификатор будет соответствовать ключу (и это происходит при установке из интернет-магазина) , но это не похоже на загрузку расширения через chromedriver. Есть ли способ заставить загруженное расширение иметь согласованный идентификатор? Или я должен использовать другой подход?
См. Https://stackoverflow.com/questions/23873623/obiving-chrome-extension-id-for-development –
@RobW благодарит за комментарий! Я не думал, что мне нужно пройти процесс создания файла PEM, если я просто использую ключ из расширения, установленного через хром-магазин. Правильно ли это предположение? –
Ну, если вы используете ключ произвольного расширения из CWS в своем распакованном расширении, то вы эффективно выдаете себя за расширение. Если вы не хотите использовать инструменты, о которых я упоминал в этом связанном ответе, вы можете сгенерировать crx-файл (и файл PEM) с помощью кнопки «Расширение пакета» на 'chrome: // extensions'. После создания CRX-файла вы можете использовать мой просмотрщик CRX для просмотра '' ключа ''расширения (как описано в http://stackoverflow.com/questions/21497781/how-to-change-chrome-packaged-app -id или, почему-ду-мы-потребность ключ-поле-в-манифеста/21500707 # 21500707). –