Я пытаюсь отправить image.jpeg в классе поведения цитрусовых, и в моем случае я получаю пустую страницу, и это не то, что я ожидал.
Вот мой код ниже:
@Override
public void run(ScenarioRunner scenario) {
try {
Path path = Paths.get(getClass().getClassLoader().getResource("icon").toURI());
List<Path> paths = Files.walk(path).filter(Files::isRegularFile).collect(Collectors.toList());
int returnThisIcon = ThreadLocalRandom.current().nextInt(1, paths.size());
InputStream in = new FileInputStream(paths.get(returnThisIcon).toString());
scenario
.http()
.send(action -> {
try {
action
.response(status)
.contentType(MediaType.IMAGE_JPEG_VALUE)
.payload(""+ StreamUtils.copyToByteArray(in));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
});
}catch(URISyntaxException ue) {
ue.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int randomNum = ThreadLocalRandom.current().nextInt(4000, 150000);
try {
long sleepTime = (randomNum);
Thread.sleep(sleepTime);
} catch (InterruptedException e) {
LOG.error("JobSleeping and thread sleep", e);
}
}
Я проверил свой HTTP-запрос с почтальоном, и у меня получилось ОК с кодом 200 и телом изображения, но изображение было крошечным квадратомзначок.Вы можете видеть, что Citrus Framework отправляет HTTP-запрос для получения формата изображения JPEG, но в ответ изображение становится черным с крошечной иконкой.Вместо того, чтобы иметь мое изображение в формате JPEG.Может ли кто-нибудь помочь мне вернуть нужную мне картинку с цитрусовыми?