Академический Документы
Профессиональный Документы
Культура Документы
be/M72eY5tHhCM
пример
Создание запросов в Postman на основе тест-кейсов по API
Environment: Окружение: Postman v10.8.8
№ Приоритет Название Предусловия Тестовые данные Шаги Ожидаемый результат Статус прохождения Link to bug Комментарий
Пример позитивного API-теста Passed or Failed report (Link
1 High Добавить нового Headers request: Параметры в случае POST передаются в теле
Отправить
запроса
POST
в JSON
запрос
объекте.
Запрос
https://petstore.swagger.io/v2/petили
1)успешно
category:отправлен
name = animal2)
на сервер
name
по-другому
(или
= Bulldog3)
запрос
записать
успешно
photoUrls
шагИнициировать
иницирован)
= https://site.com/bulldog/photo4)
Passed
вызов сервиса методом
tags: name
POST= с#dog5)
Поле
телом
заголовка
status = availableТело
запроса запроса: { "id": 10, "category": { "id": 1, "name": "
питомца в Content-Type: Проверить код HTTP Status: 200 OK Passed Content-Type
магазин (Вызов application/json состояния используется для
метода POST) Проверить тело ответа Тело ответа в формате JSON (сформированный объект JSON) Passed указания медиа типа
от сервера структуру
Проверить возращается от сервера икорректно
Схема JSON отображена будет иметь следующий вид: Passed данных в теле
ответа
Проверить заголовки имена и типы полей соответствуют ожидаемым, включая
access-control-allow-headers: Content-Type,api_key,Authorization Passed сообщения.
1.1 High Изменение Headers request: Заменить status = sold ответа access-control-allow-methods:
Отправить PUT запросhttps://petstore.swagger.io/v2/pet GET,POST,DELETE,PUT
Запрос успешно отправлен на сервер (или запрос успешно иницирован) Passed
статуса Content-Type: Проверить код HTTP Status: 200 OK Passed
добавленного application/json состояния
питомца в Тело запроса: Проверить тело ответа Тело ответа в формате JSON возращается от сервера и будет иметь Passed
methods: GET,POST,DELETE,PUT access-control-allow-origin: * content-type:
магазин { от сервера
Проверить заголовки следующий вид:
application/json date: Thu,01 Dec 2022 19:14:43 GMT server: Jetty(9.2.9.v20150224) Passed
1.2 High Удаление Headers request: "id": 10,
{petId} = 10 ответа
Отправить DELETE запрос
Запрос
https://petstore.swagger.io/v2/pet/10
успешно отправлен на сервер Passed Если еще раз удалить
питомца из Content-Type: integer($int64) Проверить код HTTP Status: 200 OK питомца, то будет 404
магазина application/json (path)запрос }
состояния
Проверить тело ответа Питомец с id = 10 удален из магазина Passed
https://petstore.swagger.io/v2/pet/{petId} date: Error: Not Found
от сервера заголовки
Проверить server: Jetty(9.2.9.v20150224) Passed
Пример негативного API-теста ответа
2 Medium Добавить нового Headers request: Параметры в случае GET передаются в Отправить GET запрос https://petstore.swagger.io/v2/pet
Запрос успешно отправлен на сервер NotTested Заголовок Accept
питомца в Content-Type: теле запроса в JSON объекте. Проверить код HTTP Status: 405 Method Not Allowed NotTested помогает серверу
магазин application/json { состояния правильно расшифровать
Проверить тело ответа Тело ответа в формате JSON будет иметь следующий вид: NotTested
Вызов метода Accept: "id": 10, сообщение.
от сервера
Проверить заголовки {access-control-allow-headers: Content-Type,api_key,Authorization NotTested
GET - Попытка application/json "category": { Указывая в заголовке
создать ресурс "id": 1, ответа access-control-allow-methods: GET,POST,DELETE,PUT Accept, мы даем серверу
недопустимым "name": "animal" server: Jetty(9.2.9.v20150224) понять, какие данные
методом }, готовы принять в ответ.
"name": "Bulldog",
"photoUrls": [
"https://site.com/bulldog/photo"
],
"tags": [
{
"id": 1,
3 Medium Добавить нового Headers request: Параметры в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet
успешно отправлен на сервер Passed Здесь Тело ответа в формате
питомца в Content-Type: теле запроса в JSON объекте. Проверить код HTTP Status: 415 Unsupported Media Type Failed дефект JSON будет иметь
магазин application/xml { состояния тело ответа Тело
Код состояния HTTP соответствует следующий вид:
Вызов метода Accept: "id": 10, Проверить ответа в формате JSON будеттипу ошибки
иметь следующий вид: Failed {
"category": { от сервера заголовки
Проверить {
access-control-allow-headers: Content-Type,api_key,Authorization Passed "code": 400,
POST - Попытка application/json
создать ресурс "id": 1, ответа access-control-allow-methods: GET,POST,DELETE,PUT "type": "unknown",
c телом JSON и "name": "animal" server: Jetty(9.2.9.v20150224) "message":
c content-type = }, "javax.xml.bind.Unmarshal
XML "name": "Bulldog", Exception\n - with linked
"photoUrls": [ exception:\
"https://site.com/bulldog/photo" n[org.xml.sax.SAXParseEx
], ception; lineNumber: 1;
"tags": [ columnNumber: 1; Content
4 Medium Добавить нового Headers request: Параметры в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet
успешно отправлен на сервер NotTested
питомца в Content-Type: теле запроса в JSON объекте. Проверить код HTTP Status: 415 Unsupported Media Type NotTested
магазин application/javascri { состояния Код состояния HTTP соответствует типу ошибки
Вызов метода pt "id": 10,
POST - Попытка Accept: "category": { Проверить тело ответа Тело ответа в формате JSON будет иметь следующий вид: NotTested
создать ресурс application/json "id": 1, от сервера заголовки {
c телом JSON и Проверить access-control-allow-headers: Content-Type,api_key,Authorization NotTested
"name": "animal"
c content-type = ответа access-control-allow-methods: GET,POST,DELETE,PUT
},
server: Jetty(9.2.9.v20150224)
Javascript "name": "Bulldog",
"photoUrls": [
"https://site.com/bulldog/photo"
],
"tags": [
{
5 Medium Добавить нового Headers request: Параметры "id": 1, в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet
успешно отправлен на сервер NotTested Поле заголовка
питомца в Content-Type: теле запроса в JSON объекте. Проверить код HTTP Status: 400 Bad Request NotTested запроса Accept
магазин application/json { состояния тело ответа Тело
Код состояния HTTP соответствует используется, чтобы
Проверить ответа в формате JSON будеттипу ошибки
иметь следующий вид: NotTested
Вызов метода Accept: "id": NULL, определить тип
от сервера заголовки
Проверить {
access-control-allow-headers: Content-Type,api_key,Authorization NotTested
POST - Попытка application/json "category": { информации, который
создать ресурс "id": 1, ответа access-control-allow-methods: GET,POST,DELETE,PUT должен содержаться в
c полем, не "name": "animal" server: Jetty(9.2.9.v20150224) ответе HTTP сервера
допускающим },
значение "name": "Bulldog",
"NULL", но "photoUrls": [
равен "NULL" в "https://site.com/bulldog/photo"
теле запроса ],
6 Medium Добавить нового Headers request: Параметры в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet
успешно отправлен на сервер Passed есть дефект будет такой ответ
питомца в Content-Type: теле запроса в JSON объекте. Проверить код HTTP Status: 400 bad request Failed {
магазин application/json { состояния тело ответа id
Код состояния "id":
Проверить должен бытьHTTP
типомсоответствует
"number", а нетипу
"nul"ошибки Failed
Вызов метода "id": null, 9223372036854775807,
от сервера заголовки
Проверить Тело ответа в формате JSONContent-Type,api_key,Authorization
access-control-allow-headers: будет иметь следующий вид: Passed
POST - Попытка "category": { "category": {
создать ресурс "id": 1, ответа access-control-allow-methods: GET,POST,DELETE,PUT "id": 1,
c полем, не "name": "animal" server: Jetty(9.2.9.v20150224) "name": "animal"
допускающим }, },
значение "null", "name": "Bulldog", "name": "Bulldog",
но равен "null" "photoUrls": [ "photoUrls": [
в теле запроса "https://site.com/bulldog/photo"
], "https://site.com/bulldog/ph
"tags": [ oto"
{ ],
"id": 1, "tags": [
"name": "#dog" {
} "id": 1,
], "name": "#dog"
7 Medium Добавить нового Headers tab: Параметры в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet1
успешно отправлен на сервер NotTested
питомца в Content-Type: теле запроса в JSON объекте.
магазин application/json {
Вызов метода "id": 10, Проверить код HTTP Status: 404 Not Found NotTested
POST - Попытка "category": { состояния тело ответа Код состояния HTTP соответствует
создать ресурс "id": 1, Проверить Тело ответа в формате JSON будеттипу ошибки
иметь следующий вид: NotTested
с "name": "animal" от сервера заголовки
Проверить {access-control-allow-headers: Content-Type,api_key,Authorization NotTested
использование }, ответа access-control-allow-methods: GET,POST,DELETE,PUT
м "name": "Bulldog", server: Jetty(9.2.9.v20150224)
несуществующе "photoUrls": [
го адреса "https://site.com/bulldog/photo"
],
"tags": [
{
8 High Добавить нового Headers tab: Параметры
"id": 1, в случае POST передаются в Отправить POST запросЗапрос
https://petstore.swagger.io/v2/pet
успешно отправлен на сервер Passed Не уверена, что это
питомца в Content-Type: теле"name":
запроса в JSON объекте.
"#dog" корректный ожидаемый
магазин application/json { } Проверить код HTTP Status: 200 OK Passed результат
Вызов метода } ], состояния
POST - Попытка "status": "available" По сути должно быть
создать ресурс Проверить тело ответа Тело ответа в формате JSON будет иметь следующий вид: Failed отображено тело JSON с
} от сервера {
c пустым JSON сообщением об
объектом "id": 9223372036854018882, заполнении обязательных
"photoUrls": [], полей и иметь другой
"tags": [] формат
} {
"id": "This field is
required.",
"name": "This field is
required."
}
NotTested
NotTested
NotTested
https://t.me/protestinginfo https://try.vikunja.io/api/v1/docs# как примерВидео на Youtube:h
Требования: https://try.vikunja.io/api/v1/docs#tag/user/paths/~1register/postPostman:
Отправить POST запрос https://try.vikunja.io/api/v1/register
Body -> Raw -> JSON{ "em
Проверить код состояния
Проверить тело ответа от
сервера
Требования: https://try.vikunja.io/api/v1/docs#tag/user/paths/~1login/postPostman:
Отправить POST запрос https://try.vikunja.io/api/v1/login
Body -> Raw -> JSON{ "long
Проверить код состояния
Проверить тело ответа от
сервера
Требования: https://try.vikunja.io/api/v1/docs#tag/user/paths/~1register/postPostman:
Отправить POST запрос https://try.vikunja.io/api/v1/login
Body -> Raw -> JSON{ "em
Проверить код состояния
Требования: https://try.vikunja.io/api/v1/docs#tag/user/paths/~1register/postPostman: Body -> Raw -> JSON{ "em
Требования: https://try.vikunja.io/api/v1/docs#tag/user/paths/~1register/postPostman:
Отправить POST запрос https://try.vikunja.io/api/v1/login
Body -> Raw -> JSON{ "em
Проверить код состояния
Проверить тело ответа от
сервера
Требования: https://try.vikunja.io/api/v1/docs#tag/labelsPostman:
Отправить PUT запрос https://try.vikunja.io/api/v1/labels
Body -> Raw -> JSON{ "created": "string", "crea
Проверить код состояния
Требования: https://try.vikunja.io/api/v1/docs#tag/labelsPostman: Body -> Raw -> JSON{ "created": "string", "crea
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/putPostman:
Отправить PUT запрос https://try.vikunja.io/api/v1/labels/{id}
Body -> Raw -> JSON{
Проверить код состояния
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/putPostman: Body -> Raw -> JSON{
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/get
Отправить GET запрос https://try.vikunja.io/api/v1/labels/{id}
Проверить код состояния
Проверить тело ответа от
сервера
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/get
Отправить GET запрос https://try.vikunja.io/api/v1/labels/{id_NOT_EXIST}
Проверить код состояния
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/get
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/get
Отправить GET запрос https://try.vikunja.io/api/v1/labels/{id_forbidden}
Проверить код состояния
Проверить тело ответа от
сервера
Требования: https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1labels~1{id}/delete
amespace, потом создать list, который будет в namespace, затем создать task тем самым добавляя task в list
Требования:https://try.vikunja.io/api/v1/docs#tag/namespace/paths/~1namespaces/put
Требования:https://try.vikunja.io/api/v1/docs#tag/list/paths/~1namespaces~1{namespaceID}~1lists/put
Требования:https://try.vikunja.io/api/v1/docs#tag/task/paths/~1lists~1{id}/put
Требования:https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1tasks~1{task}~1labels/put
Требования:https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1tasks~1{task}~1labels/put
Требования:https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1tasks~1{task}~1labels/get
Требования:https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1tasks~1{taskID}~1labels~1bulk/post
Требования:https://try.vikunja.io/api/v1/docs#tag/labels/paths/~1tasks~1{task}~1labels~1{label}/delete
Ссылка на презентацию:https://docs.google.com/presentation/d/1U5muCseYcNBFOtgfyQ0E8BCIkkUt6jJAeZ6Eft8IM
"token": "string"
Запрос успешно отправлен на сервер NotTested
HTTP
} Status: 400 Bad Request NotTested
Тело ответа в формате JSON NotTested
возращается от сервера и будет иметь
следующий вид: {
"code": 1001,
"message": "A user with this username
already exists."
}
"code": 0,
"message": "Not Found"
}
Запрос успешно отправлен на сервер
HTTP Status:403 Forbidden
Тело ответа в формате JSON
возращается от сервера и будет иметь
Ответ от сервера:
{"id":7,"title":"ProtestinginfoQA","description":"","hex_color":"e8
e8e8","created_by":
{"id":1,"name":"","username":"demo","email":"demo@vikunja.
io","created":"0001-01-01T00:00:00Z","updated":"0001-01-
01T00:00:00Z"},"created":"2023-02-