Junior — Middle
Turli test ssenariyalari uchun yagona ruxsat berish tizimini qanday amalga oshirish mumkin?
sobes.tech AI
AIdan javob
Turli test ssenariyalarida yagona ruxsat berish tizimini amalga oshirish uchun odatda autentifikatsiya jarayoni va kirish tokenlarini olish uchun javobgar bo‘lgan alohida modul yoki utilit yaratiladi. Bu modul barcha testlarda takrorlanmasdan foydalanilishi mumkin, bu kodni takrorlashdan qochish va qo‘llab-quvvatlashni osonlashtiradi.
Asosiy yondashuvlar:
- Autorizatsiya uchun API dan foydalanish: Test boshida login API chaqiriladi, olingan token saqlanadi va so‘rovlar sarlavhasida ishlatiladi.
- Tokenni global kontekstda saqlash: Masalan, test frameworkda token global o‘zgaruvchi yoki sessiya kontekstida saqlanishi mumkin.
- Tokenni testlarga uzatish: Testlar umumiy joydan token oladi va uni autorizatsiya uchun ishlatadi.
Python da requests va pytest fixtures yordamida misol:
import pytest
import requests
@pytest.fixture(scope='session')
def auth_token():
response = requests.post('https://example.com/api/login', json={'username': 'user', 'password': 'pass'})
return response.json()['token']
def test_scenario_1(auth_token):
headers = {'Authorization': f'Bearer {auth_token}'}
response = requests.get('https://example.com/api/data', headers=headers)
assert response.status_code == 200
def test_scenario_2(auth_token):
headers = {'Authorization': f'Bearer {auth_token}'}
response = requests.post('https://example.com/api/action', headers=headers)
assert response.status_code == 201
Bu yondashuv ruxsat berishni markazlashtirish va uni turli testlarda kodni takrorlamasdan ishlatish imkonini beradi.