error handling - sistematicos - ¿Qué línea está causando este error del transportador?
errores sistematicos (1)
Aquí hay un problema relacionado en el proyecto jasminewd
que el protractor
usa debajo del capó:
El problema ahora está solucionado, con la actualización de jasmine
a >=2.3.1
.
Lo que debes hacer es actualizar el protractor
a >=2.1.0
.
Respuesta anterior:
Como solución alternativa, regrese a jasmine 1.x
:
exports.config = {
framework: ''jasmine'',
...
}
¿Hay alguna manera de que Protractor muestre en el registro de la consola en qué línea se produjo el error? Acabo de recibir este tipo de mensaje:
Message:
Failed: Cannot call method ''click'' of undefined
Stack:
Error: Failed: Cannot call method ''click'' of undefined
at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:104:16
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1654:20)
at notify (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:465:12)
1 spec, 1 failure
Es difícil averiguar si tengo tantos comandos de clic. Estoy ejecutando Protractor 1.8.0.
Aquí está mi protractor.conf.js
:
exports.config = {
framework: ''jasmine2'',
seleniumAddress: ''http://11.111.1.11:4444/wd/hub'',
multiCapabilities: [{
''browserName'': ''chrome'',
''chromeOptions'': {
args: [''--test-type'']
}
}],
specs: [''./tests/my_test/*_spec.js''],
onPrepare: function(){
global.EC = protractor.ExpectedConditions;
browser.manage().window().maximize();
var jasmineReporters = require(''jasmine-reporters'');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
filePrefix: ''tests_xmloutput'',
savePath: ''./test_results_report''
}));
},
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000
}
};
El mensaje de error completo sería:
Failures:
1) test name description
Message:
Failed: Cannot call method ''click'' of undefined
Stack:
Error: Failed: Cannot call method ''click'' of undefined
at /usr/local/lib/node_modules/protractor/node_modules/jasminewd2/index.js:104:16
at /usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/base.js:1582:15
at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1654:20)
at notify (/usr/local/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:465:12)
1 spec, 1 failure
Finished in 3.206 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1
El contenido del archivo / prueba de especificación sería:
HeaderNavigationPartialPage.myAppButton.click();
LeftNavigationPartialPage.myAppToolsLink.ERROR-ON-PURPOSE.click();
browser.wait(EC.elementToBeClickable(LeftNavigationPartialPage.myAppSearchLink), 10000);
LeftNavigationPartialPage.myAppSearchLink.click();