private void handleErrorResponse(Object object) { ErrorResponse response = (ErrorResponse) object; ITestResult testResult = new FailureResult(response.getMessage()); testResult.setScreenShot(response.screenshot); if (valueResponseMap.keySet().contains(response.getId())) { valueResponseMap.put(response.getId(), testResult); } else if (existsResponseMap.keySet().contains(response.getId())) { existsResponseMap.put(response.getId(), testResult); } else { // notify runner LOG.error("Error result received {}", response.getMessage()); } }
@Override public ITestResult processAndWaitForValue(IIdRequest request) throws IllegalAccessException, TimeoutException, ErrorResultReceivedException { final String idRequest = request.getId(); if (idRequest == null) { throw new IllegalAccessException("Request requires an Id to wait for a value."); } init(); valueResponseMap.put(idRequest, VOID_RESULT); client.sendRequest(request); ValueResponse valueResponse = waitForValue(request); ITestResult res = new SuccessResult(valueResponse.value); res.setScreenShot(valueResponse.getBase64ScreenShot()); return res; }