Как вырваться из каждой петли в транспортире? - PullRequest
0 голосов
/ 02 декабря 2018

Я должен автоматизировать сценарий, в котором пользователь должен назначить одну группу / строку из n (10) группы / строки на 1-й странице.Невозможно назначить все группы / строки. Можно назначить только те группы / строки, которые не выводят сообщение об ошибке (в зависимости от состояния проверки группы) в баннер.Таким образом, мы должны перебрать каждую группу и проверить, появляется ли ошибка или нет.Если ошибки нет, назначьте группу / строку и прервите цикл .each.

Приведенный ниже код работает нормально, но в конце выдает следующую ошибку:

Failed:неизвестная ошибка: элемент не активен в точке (333, 555).

Другой элемент получит щелчок: <div class="loading"></div"

В соответствии с ошибкой сценарий пытается щелкнуть элемент checkboxOfAllGroupRow даже после завершения цикла.

Как мы можем решить эту проблему?

this.assignGroupRow = function () {
    pageTab.click();
    filterDropdownIcon.click();
    setValuesInFilterDropDown.click()
        .then(function () {
            functionLibrary.waitForLoaderToDisappear();
            browser.sleep(3000);
            var num = -1;
            checkboxOfAllGroupRow.each(function (checkbox, index) {
                checkbox.click().then(function () {
                    assignButtonInGroupPage.click();
                    dismissableErrorMessageInBanner.isPresent()
                        .then(function (errorPresence) {
                            if (errorPresence) {
                                checkbox.click();
                                dismissableErrorCloseIconInBanner.click();

                                if (index == groupCountOnFirstPage - 1)
                                    console.log(" No groups in first page can be assigned.");
                            } else {
                                assignReasonIcon.click();
                                youIdentifiedSMEReason.click();
                                suggestSMENameTextField.click();
                                suggestSMENameInputField.sendKeys("ldapID");
                                functionLibrary.waitElementToBeVisisble(highlightedOptionInSuggestSMEDropDown);
                                highlightedOptionInSuggestSMEDropDown.click();
                                yesBtnInAssignmentOfGroupDialog.click()
                                    .then(function () {
                                        bannerMessageOnAssignmentOfGroup.getText().then(function (message) {
                                            expect(message).toContain('group selected successfully assigned');
                                            num = index;
                                            return;
                                        });
                                        console.log(errorPresence + ' inside else. dialog is present at ' + index);
                                    });
                            }
                        });
                });
            });
        });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...