UnhandledPromiseRejectionWarning:未处理的承诺拒绝。在使用aync的量角器控制台中警告不受欢迎并等待

时间:2019-06-20 11:11:50

标签: javascript jasmine protractor

我编写了以下代码,以使用量角器实现自动化。

this.promoteToOperationaltSandboxes3 = async function(){


        const allMainPanel =  element.all(by.className('tropos-appbox-main-panel col-md-12'));
        console.log(typeof allMainPanel);

        console.log('In the wait function , number of the main panels is '+allMainPanel.length);
const allLitags = await allMainPanel[0].all(by.className('dropdown-menu ng-scope')).all(by.tagName('li'));
        console.log('In the wait function , number of the litags is '+allLitags.length);
}

我正在这样的一个规范文件中调用此函数。

await appsPage.promoteToOperationaltSandboxes3();

在执行此功能时,即使浏览器没有打开,也没有将erorr设置为;

  

消息:       TypeError:无法读取未定义堆栈的属性“ all”:       TypeError:无法读取未定义的属性“全部”

此外,在日志中,我可以看到以下消息:

  

在等待功能中,主面板的数量未定义。

谁能帮助我解决这些问题,并帮助我更好地履行诺言。

1 个答案:

答案 0 :(得分:2)

您应该更改allMainPanel以便首先在该位置获得索引:

const allMainPanel =  element.all(by.className('tropos-appbox-main-panel col-md-12')).get(0);  

然后将allLitags也分成两个独立的变量:

const allLitags = allMainPanel.all(by.className('dropdown-menu ng-scope'));
const liElement = await allLitags.all(by.tagName('li'));