private Step convert(final Path source, final ResultsVisitor visitor, final StepResult step) { final Step result = new Step() .setName(step.getName()) .setStatus(convert(step.getStatus())) .setTime(convert(step.getStart(), step.getStop())) .setParameters(convert(step.getParameters(), this::convert)) .setAttachments(convert(step.getAttachments(), attachment -> convert(source, visitor, attachment))) .setSteps(convert(step.getSteps(), s -> convert(source, visitor, s))); Optional.of(step) .map(ExecutableItem::getStatusDetails) .ifPresent(statusDetails -> { result.setStatusMessage(statusDetails.getMessage()); result.setStatusTrace(statusDetails.getTrace()); }); return result; }
@Override public void onEvent(final LogEvent event) { lifecycle.getCurrentTestCase().ifPresent(uuid -> { final String stepUUID = UUID.randomUUID().toString(); lifecycle.startStep(stepUUID, new StepResult() .setName(event.toString()) .setStatus(Status.PASSED)); lifecycle.updateStep(stepResult -> stepResult.setStart(stepResult.getStart() - event.getDuration())); if (LogEvent.EventStatus.FAIL.equals(event.getStatus())) { if (saveScreenshots) { lifecycle.addAttachment("Screenshot", "image/png", "png", getScreenshotBytes()); } if (savePageHtml) { lifecycle.addAttachment("Page source", "text/html", "html", getPageSourceBytes()); } lifecycle.updateStep(stepResult -> { final StatusDetails details = ResultsUtils.getStatusDetails(event.getError()) .orElse(new StatusDetails()); stepResult.setStatus(ResultsUtils.getStatus(event.getError()).orElse(Status.BROKEN)); stepResult.setStatusDetails(details); }); } lifecycle.stopStep(stepUUID); }); }
private Step convert(final Path source, final ResultsVisitor visitor, final StepResult step) { final Step result = new Step() .setName(step.getName()) .setStatus(convert(step.getStatus())) .setTime(convert(step.getStart(), step.getStop())) .setParameters(convert(step.getParameters(), this::convert)) .setAttachments(convert(step.getAttachments(), attachment -> convert(source, visitor, attachment))) .setSteps(convert(step.getSteps(), s -> convert(source, visitor, s))); Optional.of(step) .map(ExecutableItem::getStatusDetails) .ifPresent(statusDetails -> { result.setStatusMessage(statusDetails.getMessage()); result.setStatusTrace(statusDetails.getTrace()); }); return result; }