Как заполнить 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.