Основы HTTP для начинающего тестировщика
Это прям база-база, которая вроде всем очевидная, но бывают возникают вопросики. Попробую разложить самую необходимую базу, по моему мнению, которую нужно знать QA инженеру.
Перед тем, как прочтёшь статью - поддержи её❣
Входим на страницу браузера, жмём F12 и привет запросики во вкладке Network. Что это тема и с чем ее едят?
Там много различных запросов в зависимости от того, что хочет вам передать сервер. А что он вам передаст? Да все, что нужно от картинок, кнопок до нужного функционала заложенным бизнес логикой, иначе будет ошибка в запросе (статус 40*, например 404 - запрошенный ресурс отсутствует).
Для тестирования нас в основном будут интересовать Fetch запросы и XHR. Расшифровка у них простая это все запросы, только фетч это улучшенные запросы. Выбираем вкладку Fetch/XHR.
Запросы отсортировались на нужные нам. И чтобы мы не сделали в UI (пользовательский интерфейс), то мы получим запросы. Вот они дотечки!!!
Выбирай любой и Вот тот самый запрос, который состоит из заголовка(headers), запроса и ответа. Есть и другие вкладки, но об этом потом.
Заголовок состоит из:
- url,
- метода запроса,
- статус,
- версия HTTP,
- удаленный адрес,
- заголовки ответа с разными параметрами, который бэк задаёт на сервере и ещё иногда бывает тело запроса.
Нас волнуют только первые три пункта и конечно ответы и запросы.
URL состоит из:
- схемы(Scheme), а бывают их два вида http и https,
- далее идёт host на котором находится сервер,
- потом fail name. Обычно это тело создаётся на стороне сервера, то есть это бэк часть, где заданием запрос на определенный файл, например на html файл регистрации.
Итог запроса:
пример…http://youcool.com/api/register
Далее про статусы и методы.
Про статусы скажу основное, что наш основной друг это 200-й запрос. Остальное необходимо смотреть по факту и разбираться/гуглить.
Про методы нужно знать несколько основных:
- GET (получение ресурса),
- POST (создание ресурса…при чем этим методом можно добавлять и даже удалять записи😂…ну это как договорятся разрабы),
- PUT (обновление ресурса…бывает вообще не используется и вместо него используется метод PATCH),
- DELETE (удаление ресурса)
Про ответы и запросы.
Тут долгая история…
Рекомендую гуглить, либо потом могу рассказать более детально. Напишите об этом в комментариях, если интересно.
Главное нужно знать, что запрос(request) идёт от фронтенд, а ответ(response) от бэкенда. Понимания для старта эти моменты вы сможете тестировать базовые вещи и понимать от куда ошибки с фронта или бэка. Но конечно…Я ещё многое не рассказал, но об этом потом. Что ещё вам было б интересно узнать или уточнить? Напишите в комментариях.
Для get принципиальный момент - кеширование запроса, а следовательно и ответа. Т.е. подразумевается, что повторный вызов вернёт тот-же результат. И это решаемо, если сразу иметь в виду.
🧐ну да) лайк вам))) и лайк статье😉