我的量角器测试昨天在Chrome浏览器上运行得非常好。 今天,它开始在我解决承诺的过程中始终失败。在进一步调试时,我发现如果我评论了这个promise语句,那么它将挂在下一个promise promise语句中。
昨天和今天之间的量角器脚本没有变化。开发人员在测试的Angular应用程序中进行了一些更改,但不是主要的。
任何人都可以帮我指出这里可能出现的问题吗?
以下是代码段。它挂在promise解析语句template.getTemplatesCount()。然后: -
mainMenu.clickTemplatesMenuOption();
templatePage.getTemplatesCount().then(count => {
console.log("Count of template card is:-"+count.toString());
templateCountBeforeInsert = count;
});
templatePage.openCreateTemplatePanel();
createTemplatePage.createTemplateWithoutDocument(templateName);
我的量角器conf.json看起来像这样: -
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 () { }
}
以下是我使用的工具版本: - 量角器: - 5.1.2 ChromeDriver: - `2.32 Chrome浏览器: - 61.x
答案 0 :(得分:0)
你应该将一个函数传递给你的.then()
块,它应该是这样的:
templatePage.getTemplatesCount().then((count) => {
console.log("Count of template card is:-"+count.toString());
templateCountBeforeInsert = count;
});
答案 1 :(得分:0)
一种简单的方法是添加catch(),如下所示:
templatePage.getTemplatesCount().then(count => {
console.log("Count of template card is:-"+count.toString());
templateCountBeforeInsert = count;
})
.catch(function(err){
console.log('getTemplatesCount error: ' + err);
});
如果您收到错误日志,请检查里面的getTemplatesCount()。