API testing with POSTMAN
Iryna Volnykh
+ 9 years in E-commerce
+ 7 years as a QA engineer
ISTQB Certified Tester
Automation/Manual QA engineer
QA lead & exScrum master at Vaimo
Teacher at Beetroot Academy
: - Ей ти, API! бігом створи мені користувача!
: - Ей ти, API! бігом створи мені користувача!
API
: - Добре добре! Тримай!
Protocol
(HTTP, HTTPs)
status code
? response body
headers
API
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
C
reate
import requests
url = "https://example.com/api/users"
data = {
"name": "John",
"email": "john@example.com"
}
response = requests.post(url, json=data)
if response.status_code == 201: # HTTP 201 means "Created"
print("User successfully created!")
else:
print("Failed to create user. Status Code:", response.status_code)
print(response.json()) # Assuming the API returns a JSON response
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
C
reate
import requests
url = "https://example.com/api/users/1" # Assuming "1" is the user's ID you want to fetch
response = requests.get(url)
if response.status_code == 200: # HTTP 200 means "OK"
user_data = response.json()
print("User data retrieved successfully!")
print("Name:", user_data['name'])
print("Email:", user_data['email'])
else:
print("Failed to retrieve user. Status Code:", response.status_code)
ead
R
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
C
reate
import requests
url = "https://example.com/api/users/1" # Assuming "1" is the user's ID you want to update
data = {
"name": "John Updated",
"email": "john.updated@example.com"
}
response = requests.put(url, json=data)
if response.status_code == 200: # HTTP 200 can mean "OK" for updates
updated_data = response.json()
print("User data updated successfully!")
print("Updated Name:", updated_data['name'])
print("Updated Email:", updated_data['email'])
else:
print("Failed to update user. Status Code:", response.status_code)
ead
R
pdate
U
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
C
reate
import requests
url = "https://example.com/api/users/1"
response = requests.delete(url)
if response.status_code == 204:
print("User deleted successfully!")
else:
print("Failed to delete user. Status Code:", response.status_code)
ead
R
pdate
D
elete
U
Набір визначень підпрограм, протоколів взаємодії та засобів для створення програмного забезпечення. Це набір готових класів, процедур, функцій, структур і констант, що надаються додатком (бібліотекою, сервісом) для використання в зовнішніх програмних продуктах.
API визначає функціональність яку надає програма, при цьому API абстрагується від того як саме ця функціональність реалізована.
- HTTP (Hyper Text Transfer Protocol) — гіпертекстовий протокол передачі даних. Використовується при передачі веб-сторінок з одного комп'ютера на інший.
- HTTPS (HTTP Secure): Основний протокол для веб-трафіку. Це зашифрована версія HTTP, яка використовує SSL/TLS для захисту даних, що передаються між клієнтом та сервером. Facebook використовує HTTPS для всіх своїх служб, включаючи веб-сайт та API.
WebSocket: Протокол, що забезпечує двосторонній зв'язок в реальному часі між клієнтом та сервером через одне підключення. Facebook може використовувати WebSocket для таких функцій, як чат або нотифікації, що з'являються в реальному часі.
FTP (File Transfer Protocol): FTP — це стандартний протокол для передачі файлів між комп'ютерами через Інтернет.
SMTP (Simple Mail Transfer Protocol): — це протокол, призначений для відправки електронних листів. Facebook, безумовно, використовує SMTP або схожий протокол для відправки електронних листів своїм користувачам, таких як сповіщення про нові повідомлення, зміни налаштувань акаунту, повідомлення про безпеку та інші службові електронні листи.
GET питає
POST створює
PUT замінює
DELETE видаляє
Техніки тест дизайну
- positive/negative (класи еквівалентності)
- required/non required (класи еквівалентності)
- граничні значення
- decision table
- use case testing
API ++
- status codes
- обробка помилок
- обробка відповідей
- авторизація та автентифікація
Reuse variable
1. Create environment
2. Add test to 1st request
var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("id", jsonData.id);
3. Add variable in new request
Me on LinkedIn:
deck
By iravol
deck
- 164