code: public void selectValue(String value) {
          String action = SELECTING + value + " in " + prettyOutput();
          String expected = prettyOutputStart() + PRESENT_DISPLAYED_AND_ENABLED + value + SELECTED;
          try {
              if (isNotPresentDisplayedEnabledSelect(action, expected)) {
                  return;
              }
              // ensure the value exists
              if (!Arrays.asList(get.selectValues()).contains(value)) {
                  reporter.fail(action, expected, CANT_SELECT + value + " in " + prettyOutput() +
                          " as that value isn't present. Available values are:<i><br/>&nbsp;&nbsp;&nbsp;" +
                          String.join("<br/>&nbsp;&nbsp;&nbsp;", get.selectValues()) + "</i>");
                  return;
              }
              // do the select
              WebElement webElement = getWebElement();
              Select dropdown = new Select(webElement);
              dropdown.selectByValue(value);
          } catch (Exception e) {
              log.warn(e);
              reporter.fail(action, expected, CANT_SELECT + prettyOutputEnd() + e.getMessage());
              return;
          }
          reporter.pass(action, expected, "Selected <b>" + value + INN + prettyOutputEnd().trim());
      }
docs: Selects the value from the dropdown matching the provided value, but only
  if the element is present, displayed, enabled, and an input. If those
  conditions are not met, the select action will be logged, but skipped and
  the test will continue.
  
  @param value - the select value to be selected