Я использую плагин стека браузера в Jenkins для тестирования e2e с использованием транспортира. E2e отлично работает локально, но при развертывании в Jenkins запустите тест e2e, получив следующую ошибку.
Connecting local error { LocalError: Could not connect to Files!
at C:\Program Files (x86)\Jenkins\workspace\Angular UI Toolkit\node_modules \browserstack-local\lib\Local.js:57:20
at ChildProcess.exithandler (child_process.js:197:7)
at emitTwo (events.js:106:13)
at ChildProcess.emit (events.js:191:7)
at maybeClose (internal/child_process.js:877:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
name: 'LocalError',
message: 'Could not connect to Files!',
extra: undefined }
Это файл stack.config моего браузера.
var browserstack = require('browserstack-local');
exports.config = {
'seleniumAddress': 'http://hub-cloud.browserstack.com/wd/hub',
baseUrl: 'http://localhost:3000/',
ignoreSynchronization: false,
framework: 'jasmine',
allScriptsTimeout: 110000,
getPageTimeout: 50000,
jasmineNodeOpts: {
// showTiming: true,
showColors: true,
isVerbose: false,
includeStackTrace: false,
defaultTimeoutInterval: 5000000
},
specs: [
'./dist/demo-app/**/*.e2e-spec.js'
],
exclude: [],
'capabilities': {
'browserstack.user': 'username',
'browserstack.key': 'key',
'browserstack.local': true,
'browserstack.localIdentifier':'test123',
'os': 'Windows',
'os_version': '8.1',
'browserName': 'IE',
'browser_version': '11.0'
},
// Code to start browserstack local before start of test
beforeLaunch: function(){
console.log("Connecting local");
return new Promise(function(resolve, reject){
exports.bs_local_args = {
key: exports.config.capabilities['browserstack.key'],
localIdentifier:exports.config.capabilities['browserstack.localIdentifier'],
force: true
};
exports.bs_local = new browserstack.Local();
console.log('exports.bs_local BROWSERSTACK_USERNAME...',process.env.BROWSERSTACK_USERNAME);
console.log('exports.bs_local...',exports.bs_local);
exports.bs_local.start(exports.bs_local_args, function(error) {
if (error){
console.log("Connecting local error",error);
return reject(error);
}
console.log('Connected. Now testing...');
resolve();
});
});
},
// Code to stop browserstack local after end of test
afterLaunch: function(){
return new Promise(function(resolve, reject){
exports.bs_local.stop(resolve);
});
},
useAllAngular2AppRoots: true
};