Junior — Middle
Төрт тест сценарийлер үчүн бирдиктүү авторизация системасын кантип ишке ашырууга болот?
sobes.tech AI
AIден жооп
Төрдүү тест сценарийлеринде бирдиктүү уруксат берүү системасын ишке ашыруу үчүн адатта бөлүнгөн модуль же утилита түзүлөт, ал аутентификация процесси жана кирүү токендерин алуу үчүн жооптуу болот. Бул модуль бардык тесттерде кайра колдонулушу мүмкүн, бул кодду кайталоодон сактайт жана тейлөө иштерин жеңилдетет.
Негизги жактар:
- Рухсат берүү үчүн API колдонуу: Тесттин башында логин API чакырылат, алынган токен сакталат жана суроо баштарында колдонулат.
- Токенди глобалдык контекстте сактоо: Мисалы, тест frameworkинде токен глобалдык өзгөрмөдө же сессиянын контекстинде сакталат.
- Токенди тесттерге өткөрүү: Тесттер жалпы жерден токен алат жана аны уруксат берүү үчүн колдонушат.
Pythonдо requests жана pytest fixtures колдонуу менен мисал:
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
Бул ыкма уруксат берүүнү борборлоштурууга жана аны ар түрдүү тесттерде колдонууга мүмкүндүк берет, кайталоодон сактайт.