Задать вопрос
@Daria_D15
Junior QA Automation

Как в Selenide сделать проверку, чтобы тест не падал после 1 ошибки?

Сложность в том, что у меня тест в виде большого цикла, где я сначала беру один аккаунт, собираю по нему мапу и в конце сравниваю с ожидаемой мапой, но тест после этого идет дальше по циклу, соответсвенно, он не должен падать при первой ошибке
Пробую добавить SoftAssertions softAsserts = new SoftAssertions();
softAsserts.assertThat(menuCollection).isEqualTo(finalExpected);
softAsserts.assertAll();
но он так же падает при первой проверке
@Test
    public void menuAccesses() throws InterruptedException {

        Selenide.open("https:###");
        String[] permission_id = {"4", "3", "2", "1", "7", "8", "9", "17", "12", "13", "15", "16", "19", "22"};
        for (var i = 0; i < permission_id.length; i++) {

            Map<String, List<Account>> auth1 = MapDB.storage("");
            String permissionId = permission_id[i];
            List<Account> accountId = auth1.get(permissionId);

            for (var j = 0; j < accountId.size(); j++) {

                Account account = accountId.get(j);
                String username = account.getUsername();
                String password = account.getPassword();

                TreeMap<String, Boolean> expected = DefaultMapMenu.getDefaultMap();
                expected = DefaultMapMenu.fillMenuByPermissionId(permissionId, expected);


                int[] directions = account.GetDirections();
                for (var d = 0; d < directions.length; d++) {

                    Integer directionId = directions[d];
                    expected = DefaultMapMenu.fillMenuByDirectionId(permissionId, directionId, expected);
                }

                int[] types = account.GetTypes();
                for (var t = 0; t < types.length; t++) {
                    Map<String, List<Account>> auth = MapDB.storage("");
                    Integer typeId = types[t];
                    expected = DefaultMapMenu.fillMenuByTypeId(permissionId, typeId,expected);

                }

                Login_page.setLogin(username)
                        .setPassword(password)
                        .clickSubmit();
                Thread.sleep(1000);

                    Tabs_menu_page.openTable();



                String[] menuItems = {"account", "schedule", "vacations", "realty", "personal", "documents", "object", "shop-request-magnit", "habitation", "tasks", "pivot", "x5import", "zayavka", "payment", "pivot_payment", "personal_target", "corporate-cards", "payment_list", "report_taxi", "pivotx5"};

                TreeMap<String, Boolean> menuCollection = new TreeMap<>();
                for (var z = 0; z < menuItems.length; z++) {

                    Map<String, List<Account>> auth = MapDB.storage("");
                    String menuItem = menuItems[z];
                    menuCollection.put(menuItem, Tabs_menu_page.checkExistsMenuItem(menuItem));
                }

                TreeMap<String, Boolean> finalExpected = expected;

                SoftAssertions softAsserts = new SoftAssertions();
                softAsserts.assertThat(menuCollection).isEqualTo(finalExpected);

                Tabs_menu_page.clickMenu()
                        .clicklExit();
                softAsserts.assertAll();
            }
        }
    }
}
  • Вопрос задан
  • 43 просмотра
Подписаться 1 Средний 1 комментарий
Решения вопроса 1
@Daria_D15 Автор вопроса
Junior QA Automation
Я кажется решала проблему и это работает, но еще посмотрю
Tabs_menu_page.clickMenu()
                        .clicklExit();
            }
        }
        softAsserts.assertAll();
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы