Sobes.tech
Junior

Gdzie jest łatwiej przechowywać i używać danych: w Postmanie czy przez API?

sobes.tech AI

Odpowiedź od AI

Do przechowywania i korzystania z danych, szczególnie w kontekście automatyzacji testów, lepiej jest korzystać bezpośrednio z API, a nie z Postmana.

Zalety korzystania bezpośrednio z API:

  • Elastyczność: Pełna kontrola nad procesem, możliwość integracji z dowolnymi frameworkami i bibliotekami.
  • Skalowalność: Łatwiejsze obsługiwanie dużych ilości danych i złożonych scenariuszy.
  • Automatyzacja: Idealne do pisania zautomatyzowanych testów, które można uruchamiać jako część pipeline CI/CD.
  • Wersjonowanie: Kod korzystający z API można przechowywać w systemach kontroli wersji (Git).
  • Modularność: Możliwość tworzenia funkcji wielokrotnego użytku do pracy z danymi API.

Postman jest przydatny do testów ręcznych, eksploracji API i tworzenia małych kolekcji zapytań. Zapewnia wygodny graficzny interfejs do pracy z zapytaniami i zmiennymi. Jednak dla bardziej zaawansowanej automatyzacji i integracji z frameworkami testowymi, korzystanie z API bezpośrednio przez kod jest bardziej efektywne.

W Postmanie dane można przechowywać w:

  • Variables (Zmienne środowiskowe): do ustawiania URL, loginów, haseł i innych ustawień zależnych od środowiska wykonawczego.
  • Global Variables (Zmienne globalne): dostępne we wszystkich kolekcjach.
  • Collection Variables (Zmienne kolekcji): dostępne w ramach konkretnej kolekcji.
  • Data Files (Pliki danych): do parametryzacji zapytań (CSV lub JSON).

Przy korzystaniu bezpośrednio z API do przechowywania i używania danych można stosować różne podejścia w zależności od języka programowania i frameworka testowego:

  • Użycie zmiennych w kodzie.
  • Odczyt danych z plików (CSV, JSON, YAML, TXT).
  • Praca z bazami danych.
  • Pobieranie danych od innych usług przez ich API.

Przykład pobierania danych przez API w Pythonie z użyciem biblioteki requests:

import requests

# URL końcówki API do pobierania danych
API_URL = "https://api.example.com/data"

def get_data_from_api():
    """Pobiera dane z API."""
    try:
        response = requests.get(API_URL)
        response.raise_for_status() # Rzuca wyjątek dla błędów HTTP
        data = response.json()
        return data
    except requests.exceptions.RequestException as e:
        print(f"Błąd podczas pobierania danych z API: {e}")
        return None

# Użycie funkcji do pobrania danych
received_data = get_data_from_api()

if received_data:
    print("Dane pomyślnie pobrane:")
    print(received_data)
    # Przykład przetwarzania danych
    # for item in received_data:
    #     print(item['name'])

Dlatego, choć Postman oferuje możliwości przechowywania danych, do poważnej automatyzacji i skalowalności lepiej jest pracować bezpośrednio z API przez kod.