2017-09-16 2 views
0

Mes tests de rapporteur fonctionnaient parfaitement bien hier sur Chrome Browser. Aujourd'hui, il a commencé à échouer systématiquement à un point où je résous une promesse. Au débogage plus loin, j'ai trouvé que si je commente cette déclaration de promesse alors il serait suspendu à la prochaine déclaration de résolution de promesse.Des tests de rapporteur s'affranchissent pendant la résolution des promesses lors de l'exécution dans Chrome

Il n'y a pas eu de changement dans les scripts de protractor entre hier et aujourd'hui. Il y a eu quelques changements apportés par les développeurs dans l'application Angular testée mais pas les plus importants. Est-ce que quelqu'un peut m'aider à signaler ce qui pourrait mal se passer ici?

Voici l'extrait de code suivant. Sa pendaison à la déclaration de résolution promesse template.getTemplatesCount() puis: -.

mainMenu.clickTemplatesMenuOption(); 

templatePage.getTemplatesCount().then(count => { 
    console.log("Count of template card is:-"+count.toString()); 
    templateCountBeforeInsert = count; 

}); 

templatePage.openCreateTemplatePanel(); 
createTemplatePage.createTemplateWithoutDocument(templateName); 

Mon conf.json protractor ressemble à ceci: -

exports.config = { 
allScriptsTimeout: 30000000, 
specs: [ 
'./e2e/TestPlan/*.ts' 
], 
capabilities: { 
'browserName': 'chrome' 
}, 
directConnect: true, 
baseUrl: 'http://10.37.1.86:81/', 
getPageTimeout: 120000, 
framework: 'jasmine2', 
jasmineNodeOpts: { 
showColors: true, 
defaultTimeoutInterval: 120000, 
print: function() { } 
} 

Voici les versions des outils que je utilise: - Protractor: - 5.1.2 ChromeDriver: - `2,32 navigateur Chrome: - 61.x

+0

Je suis complètement bloqué ici. Quelqu'un peut-il jeter quelques pointeurs pour le résoudre? – user2337353

Répondre

0

Vous devriez passer un fonction à votre bloc .then(), il devrait être le suivant:

templatePage.getTemplatesCount().then((count) => { 
    console.log("Count of template card is:-"+count.toString()); 
    templateCountBeforeInsert = count; 
}); 
0

Une façon simple est d'ajouter catch() comme ci-dessous:

templatePage.getTemplatesCount().then(count => { 
    console.log("Count of template card is:-"+count.toString()); 
    templateCountBeforeInsert = count; 
}) 
.catch(function(err){ 
    console.log('getTemplatesCount error: ' + err); 
}); 

Si vous obtenez le journal des erreurs, s'il vous plaît vérifier getTemplatesCount() à l'intérieur.