code: public void selectedValue(String expectedValue, double seconds) {
          double end = System.currentTimeMillis() + (seconds * 1000);
          try {
              elementPresent(seconds);
              if (!element.is().select()) {
                  throw new TimeoutException(ELEMENT_NOT_SELECT);
              }
              while (!element.get().selectedValue().equals(expectedValue) && System.currentTimeMillis() < end) ;
              double timeTook = Math.min((seconds * 1000) - (end - System.currentTimeMillis()), seconds * 1000) / 1000;
              checkSelectedValue(expectedValue, seconds, timeTook);
          } catch (TimeoutException e) {
              checkSelectedValue(expectedValue, seconds, seconds);
          }
      }
docs: Waits for the element's selected value equals the provided expected
  value. If the element isn't present or a select, this will constitute a
  failure, same as a mismatch.
  The provided wait time will be used and if the element doesn't
  have the desired match count at that time, it will fail, and log
  the issue with a screenshot for traceability and added debugging support.
  
  @param expectedValue - the expected input value of the element
  @param seconds       - how many seconds to wait for