UnhandledPromiseRejectionWarning: необработанное отклонение обещания.в консоли транспортира выводится предупреждение об использовании aync и await - PullRequest
2 голосов
/ 20 июня 2019

Я написал приведенный ниже код для автоматизации с использованием транспортира.

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: Невозможно прочитать свойство 'all' из неопределенного

Кроме того, в журналах я вижу сообщениеas:

В функции ожидания число основных панелей не определено.

Может кто-нибудь помочь мне решить эту проблему и помочь мне лучше справиться с обещанием.

1 Ответ

2 голосов
/ 20 июня 2019

Вы должны изменить allMainPanel, чтобы сначала получить индекс там:

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

, затем также allLitags, возможно, на 2 отдельные переменные:

const allLitags = allMainPanel.all(by.className('dropdown-menu ng-scope'));
const liElement = await allLitags.all(by.tagName('li'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...