Size: a a a

QA — Автоматизация

2019 November 04

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Barantsev
впрочем, мы это уже обсуждали кажется. я предпочитаю мэпить JSON или что там пришло в объекты и работать с объектами. поэтому мне вопрос про встроенные ассёрты и кажется дикостью
тогда придётся свою надстроечку дописывать, чтобы вернуть контекст, когда зафейлится ассерт. Ну или про запас логгировать всё.
источник

AB

Alexei Barantsev in QA — Автоматизация
если зафейлится на мапинге — будет видно тело ответа в сообщении о проблеме. если зафейлится потом, на проверке объектов — там и так достаточно информации, зачем тащить туда низкоуровневый контекст
источник

AV

Alexei Vinogradov in QA — Автоматизация
Я даже не знаю, справляется ли с этим RestAssured в полной мере, кмк если и справляется, то натужно, с использованием неочевидных конфигов, типа того, что ты сегодня откопал.
источник

AB

Alexei Barantsev in QA — Автоматизация
впрочем, можно и логировать всё, почему бы и нет, одно другому не мешает
источник

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Barantsev
если зафейлится на мапинге — будет видно тело ответа в сообщении о проблеме. если зафейлится потом, на проверке объектов — там и так достаточно информации, зачем тащить туда низкоуровневый контекст
ну не скажи, контекст частно полезен, даже ходить далеко не надо - см. чарсет сегодняшний.
источник

AB

Alexei Barantsev in QA — Автоматизация
не понял про чарсет, поясни
источник

AB

Alexei Barantsev in QA — Автоматизация
как тут rast assured со встроенными проверками мог бы быть полезен?
источник

AV

Alexei Vinogradov in QA — Автоматизация
Alexei Barantsev
впрочем, можно и логировать всё, почему бы и нет, одно другому не мешает
если код был написано чуть более грамотно, то вместе с ошибкой (400 вместо 200) пришло бы и полное описание request/response в логах, и проблема бы стала понятнее гораздо быстрее.
источник

AB

Alexei Barantsev in QA — Автоматизация
так там есть описание в теле ответа, не только код ответа 400
источник

AB

Alexei Barantsev in QA — Автоматизация
просто описание тупое, но это уже вопрос к разработчикам бэкенда :)
источник

AB

Alexei Barantsev in QA — Автоматизация
во-первых, они не принимают стандартный заголовок, во вторых пишут такие сообщения об ошибках, что причину фиг угадаешь
источник

AV

Alexei Vinogradov in QA — Автоматизация
да, но Assert.equals ничего этого не выводит
источник

AV

Alexei Vinogradov in QA — Автоматизация
а встроеный ассерт - может выводить
источник

AB

Alexei Barantsev in QA — Автоматизация
я понял, что ты имеешь в виду. но это решается как раз на уровне перевода JSON в объекты. на этом уровне вполне можно запилить проверку кода ответа
источник

AB

Alexei Barantsev in QA — Автоматизация
то есть проверяем, что приходит 400, потом мапим тело в объект типа ErrorMessage, тут проверяется соответствие ожидаемой структуре
источник

AB

Alexei Barantsev in QA — Автоматизация
а потом на уровне объектов все остальные проверки, и тут низкоуровневый контекст уже не очень нужен
источник

AV

Alexei Vinogradov in QA — Автоматизация
много чего можно запилить) но библиотека, которая немного за тебя думает и предвидит типичные кейсы - тоже неплохой вариант.
источник

AB

Alexei Barantsev in QA — Автоматизация
но кто любит JsonPath — тому RA заходит, наверное
источник

AB

Alexei Barantsev in QA — Автоматизация
я препочитаю объекты
источник

AV

Alexei Vinogradov in QA — Автоматизация
я конечно за последние года начал во всех библиотеках видеть недоделанный Селенид, профдеформация :)
источник