code: protected void saveElementValue(String field, String targetKey, Page page) throws TechnicalException, FailureException {
          logger.debug("saveValueInStep: {} to {} in {}.", field, targetKey, page.getApplication());
          String txt = "";
          try {
              final WebElement elem = Utilities.findElement(page, field);
              txt = elem.getAttribute(VALUE) != null ? elem.getAttribute(VALUE) : elem.getText();
          } catch (final Exception e) {
              new Result.Failure<>(e.getMessage(), Messages.getMessage(Messages.FAIL_MESSAGE_UNABLE_TO_FIND_ELEMENT), true, page.getCallBack());
          }
          try {
              Context.saveValue(targetKey, txt);
              Context.getCurrentScenario().write("SAVE " + targetKey + "=" + txt);
          } catch (final Exception e) {
              new Result.Failure<>(e.getMessage(), Messages.format(Messages.getMessage(Messages.FAIL_MESSAGE_UNABLE_TO_RETRIEVE_VALUE), page.getPageElementByKey(field), page.getApplication()), true,
                      page.getCallBack());
          }
      }
docs: Save value in memory.
  
  @param field
  is name of the field to retrieve.
  @param targetKey
  is the key to save value to
  @param page
  is target page.
  @throws TechnicalException
  is thrown if you have a technical error (format, configuration, datas, ...) in NoraUi.
  Exception with {@value com.github.noraui.utils.Messages#FAIL_MESSAGE_UNABLE_TO_FIND_ELEMENT} message (with screenshot, with exception) or with
  {@value com.github.noraui.utils.Messages#FAIL_MESSAGE_UNABLE_TO_RETRIEVE_VALUE} message
  (with screenshot, with exception)
  @throws FailureException
  if the scenario encounters a functional error