Как заполнить EnumMap, который содержит ключ и список строк в качестве значения, и использовать его в селене

У меня есть эта карта перечисления, которая является ключевым значением, и я хочу иметь возможность найти элементы на странице и сопоставить их с правильной картой перечисления:

    public enum AlertState {
        CRITICAL,
        WARNING,
        ERROR
    }

     EnumMap<AlertState,List<String>> alertStateListEnumMap;
     private final By severity = By.cssSelector("div[class~='severity']");

    public void populateAlertStateEnumMapByType(){
        List<WebElement> alertsElms = driver.findElements(severity);
        groupAlertsByStatus(alertsElms);
}

public static EnumMap<AlertState, List<String>> groupAlertsByStatus(List<WebElement> alertsElms){
        for(WebElement elem:alertsElms){
            String state = elem.getText();
            if(state.equals("C")){
                alertStateListEnumMap.get(AlertState.CRITICAL).add(elem.getText());
            }

            if(state.equals("W")){
                alertStateListEnumMap.get(AlertState.WARNING).add(elem.getText());
            }

            if(state.equals("E")){
                alertStateListEnumMap.get(AlertState.ERROR).add(elem.getText());
            }

        }

        return alertStateListEnumMap;
    }

но когда я добираюсь до строки if(state.equals("E")), которая возвращает true, и я пытаюсь добавить этот элемент в мою карту перечисления [alertStateListEnumMap.get(AlertState.ERROR).add(elem.getText());] Я получаю следующую ошибку:

java.lang.NullPointerException

Как я могу добавить предметы в мою карту enum.

0 ответов

Другие вопросы по тегам