당신은 chromeOptions
내부 extensions
목록을 구성해야합니다 : extensions
에, 그것은 list of base-64 encoded packed Chrome extension를 제공하는 것이 중요하다고
capabilities {
'browserName': 'chrome',
'chromeOptions': {
'extensions': ['base64 encoded extension']
}
}
참고.
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
또는, 쉽게는, fs
및 q
를 사용하여 helper.js
파일을 만들 : 예를 들어, 파이썬을 사용하여
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'),
...
}
현재 하나의 확장 프로그램에서만 작동하므로 개선의 여지가 있습니다.
또한, 당신은 문제가있는 경우 다음과 같은 문제를 찾습니다
감사합니다. 매우 도움이되었습니다. 하지만이 솔루션에 문제가 있습니다. 원하는 .crx 경로를 설정하고 테스트를 실행하면 오류가 발생하고 오류 메시지가 표시되지 않습니다. '프로세스가 종료 코드 100으로 끝났습니다. ' 나는 또한 당신이 나에게 제안한 실을 읽었지만 내 경우에 대한 해결책을 찾지 못했습니다. – andrepm
스택 추적을 제공하지 않습니다. "C : \ Program Files (x86) \ JetBrains \ WebStorm 9.0.1 \ bin \ runnerw.exe" "C : \ Program Files \ nodejs \ node.exe"node_modules \ protractor \ lib \ cli .js C : \ Users \ QARJ \ WebstormProjects \ ProtractorPiloto \ config.js 셀레늄 독립 실행 형 서버 시작 ... 셀렌 독립 실행 형 서버 시작 시간 : http://192.168.44.130:61384/wd/hub 종료 코드로 프로세스가 완료되었습니다. 100' – andrepm
@andrepm''extensions'을 생략하면 어떻게 될까요? 실행 중입니까? 감사. – alecxe