๐ ์ด ๊ธ์ ์ด๋ฐ ๋ถ๊ป ์ถ์ฒํฉ๋๋ค
- Python์ผ๋ก API ํ ์คํธ ํ๊ฒฝ์ ์ฒ์๋ถํฐ ๊ตฌ์ถํ๊ณ ์ถ์ ๋ถ
- pip install๋ก ๋ฌด์์ ์ค์นํด์ผ ํ ์ง ๋ชจ๋ฅด๋ ๋ถ
- ๊ฐ์ ํ๊ฒฝ๏ผvenv๏ผ์ฌ์ฉ๋ฒ์ ๋ฐฐ์ฐ๊ณ ์ถ์ ๋ถ
- pytestใปrequestsใปPlaywright๋ฅผ ์ฌ์ฉํ API ํ ์คํธ๋ฅผ ์์ํ๊ณ ์ถ์ ๋ถ
โ ์ด ๊ธ์ ์ฝ์ผ๋ฉด ์ ์ ์๋ ๊ฒ
- API ํ ์คํธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ค์น ์ปค๋งจ๋
- ๊ฐ์ ํ๊ฒฝ๏ผvenv๏ผ์ ์ฌ์ฉํ ํ๊ฒฝ ๋ถ๋ฆฌ ๋ฐฉ๋ฒ
- pytest.ini ์ค์ ์ผ๋ก HTML ๋ฆฌํฌํธ๋ฅผ ์๋ ์์ฑํ๋ ๋ฐฉ๋ฒ
- ์ค์น ํ ๋์ ํ์ธ๊น์ง์ ์ผ๋ จ์ ํ๋ฆ
Python์ผ๋ก API ํ ์คํธ๋ฅผ ์์ํ๋ ค๊ณ ํ ๋ ใpytest๋ requests๋ ๋ฌด์์ ์ค์นํ๋ฉด ๋๋์?ใใ๊ฐ์ ํ๊ฒฝ์ ํ์ํ๊ฐ์?ใ๋ผ๊ณ ๊ณ ๋ฏผํ๋ ๋ถ๋ค์ด ๋ง์ต๋๋ค. ์ฒ์ ๋งํ๊ธฐ ์ฌ์ด ๊ฒ์ด ํ๊ฒฝ ๊ตฌ์ถ์ ๋๋ค.
์ด ๊ธ์์๋ Python์ผ๋ก API ํ ์คํธ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น๋ถํฐ ๋์ ํ์ธ๊น์ง๋ฅผ ๊ผผ๊ผผํ๊ฒ ํด์คํฉ๋๋ค. ์ปค๋งจ๋๋ฅผ ๊ทธ๋๋ก ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ง ํ๋ฉด ํ๊ฒฝ์ด ๊ฐ์ถฐ์ง๋๋ค.
- 00. Python API ํ ์คํธ ํ๊ฒฝ ๊ตฌ์ถ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ผ๋
- 01. ๊ฐ์ ํ๊ฒฝ ์์ฑ๏ผ๊ถ์ฅ๏ผ
- 02. pip install๋ก Python API ํ ์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
- 03. ์ค์น ํ์ธ
- 04. HTML ๋ฆฌํฌํธ ์๋ ์์ฑ์ ์ํ pytest.ini ์ค์
- 05. ๋์ ํ์ธ ํ ์คํธ
- 06. ์์ฃผ ๊ฒช๋ ๋ฌธ์ & ํด๊ฒฐ๋ฒ
- 07. ์์ฃผ ๋ฌป๋ ์ง๋ฌธ๏ผFAQ๏ผ
- 08. ์ ๋ฆฌ
00. Python API ํ ์คํธ ํ๊ฒฝ ๊ตฌ์ถ์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ผ๋
API ํ ์คํธ์ ์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํฌ๊ฒ 3์ข ๋ฅ์ ๋๋ค.
| ๋ผ์ด๋ธ๋ฌ๋ฆฌ | ์ญํ | ์ฉ๋ |
|---|---|---|
requests | HTTP ํด๋ผ์ด์ธํธ | API์ ์์ฒญ์ ๋ณด๋ธ๋ค |
pytest | ํ ์คํธ ํ๋ ์์ํฌ | ํ ์คํธ๋ฅผ ์คํใป๊ด๋ฆฌํ๋ค |
pytest-html | ๋ฆฌํฌํธ ์์ฑ | HTML ๋ฆฌํฌํธ๋ฅผ ์๋ ์์ฑํ๋ค |
playwright | ๋ธ๋ผ์ฐ์ ์๋ํ | UI ํ ์คํธ๏ผE2E ํ ์คํธ๏ผ๋ฅผ ์คํํ ์ ์๋ค. API ํ ์คํธ ๊ธฐ๋ฅ๋ ์ด์ฉ ๊ฐ๋ฅ. |
pytest-playwright | pytest ์ฐ๋ | Playwright๋ฅผ pytest์ Fixture๋ก ์ฌ์ฉ |
๐ก ํฌ์ธํธ๏ผrequests์ Playwright๋ ๋ ์ค ํ๋๋ง์ผ๋ก OK์
๋๋ค. ๊ฐ๋จํ๊ฒ API ํ
์คํธ๋ง ํ๋ค๋ฉด requests, UI ํ
์คํธ์ ์กฐํฉํ๋ค๋ฉด Playwright ๋ฅผ ์ ํํ์ธ์.
01. ๊ฐ์ ํ๊ฒฝ ์์ฑ๏ผ๊ถ์ฅ๏ผ
๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ๋ฉด ํ๋ก์ ํธ๋ณ๋ก ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ํ๋ก์ ํธ์ ์ํฅ์ ์ฃผ์ง ์๊ธฐ ์ํด ๋จผ์ ์ค์ ํด๋๋ ๊ฒ์ ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค.
๊ฐ์ ํ๊ฒฝ ์์ฑ ๋ฐ ํ์ฑํ
# ๊ฐ์ ํ๊ฒฝ ์์ฑ
python -m venv venv
# ํ์ฑํ๏ผWindows๏ผ
venv\Scripts\activate
# ํ์ฑํ๏ผMac/Linux๏ผ
source venv/bin/activateํ์ฑํํ๋ฉด ํฐ๋ฏธ๋ ์์ (venv) ๊ฐ ํ์๋ฉ๋๋ค.
(venv) PS C:\Users\HP\Desktop\upwork>๐ก ํฌ์ธํธ๏ผ๊ฐ์ ํ๊ฒฝ์ ํ์ฑํํ ์ํ์์ ์ค์นํ๋ฉด ๊ทธ ํ๋ก์ ํธ์๋ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์ค์น๋ฉ๋๋ค. ํ๋ก์ ํธ๋ฅผ ์ข
๋ฃํ ๋๋ deactivate ๋ก ๋นํ์ฑํํ ์ ์์ต๋๋ค.
02. pip install๋ก Python API ํ ์คํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
โ requests ๊ธฐ๋ฐ์ ๊ฒฝ์ฐ๏ผ์ฌํ ๊ตฌ์ฑ๏ผ
pip install requests pytest pytest-htmlโก Playwright ๊ธฐ๋ฐ์ ๊ฒฝ์ฐ๏ผUI+API ๋ชจ๋ ๋์๏ผ
pip install playwright pytest pytest-playwright pytest-html
playwright install chromiumโ ๏ธ ์ฃผ์๏ผplaywright install chromium ์ ๋ธ๋ผ์ฐ์ ๋ค์ด๋ก๋๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ต์ด์๋ ๋ช ๋ถ์ด ๊ฑธ๋ฆฝ๋๋ค. API ํ
์คํธ๋ง์ด๋ผ๋ฉด ์๋ตํ ์ ์์ง๋ง, ๋์ค์ UI ํ
์คํธ์ ์กฐํฉํ ๊ฒฝ์ฐ๋ฅผ ์ํด ๋ฏธ๋ฆฌ ์ค์นํด๋๋ฉด ํธ๋ฆฌํฉ๋๋ค.
03. ์ค์น ํ์ธ
๋ฒ์ ํ์ธ ์ปค๋งจ๋
# pytest ๋ฒ์ ํ์ธ
pytest --version
# requests ๋ฒ์ ํ์ธ
python -c "import requests; print(requests.__version__)"
# playwright ๋ฒ์ ํ์ธ
playwright --version์ ์์ ์ผ๋ก ์ค์น๋ ๊ฒฝ์ฐ์ ํ์
pytest 9.0.2
2.32.3
Version 1.50.0๐ก ํฌ์ธํธ๏ผ๋ฒ์ ๋ฒํธ๊ฐ ํ์๋๋ฉด ์ค์น ์ฑ๊ณต์ ๋๋ค. ์ค๋ฅ๊ฐ ๋์จ ๊ฒฝ์ฐ๋ ๋ค์ ์น์ ์ ์์ฃผ ๊ฒช๋ ๋ฌธ์ ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์.
04. HTML ๋ฆฌํฌํธ ์๋ ์์ฑ์ ์ํ pytest.ini ์ค์
ํ๋ก์ ํธ ๋ฃจํธ์ pytest.ini ๋ฅผ ์์ฑํด๋๋ฉด ํ
์คํธ ์คํ ๋๋ง๋ค HTML ๋ฆฌํฌํธ๊ฐ ์๋ ์์ฑ๋์ด ํธ๋ฆฌํฉ๋๋ค.
ํด๋ ๊ตฌ์ฑ
project/
โโโ pytest.ini โ ์ฌ๊ธฐ์ ์์ฑ
โโโ test_api.py
โโโ report.html โ ์คํ ํ ์๋ ์์ฑ๋จpytest.ini ๋ด์ฉ
# pytest.ini
[pytest]
addopts = --html=report.html --self-contained-html์ค์ ํ ์คํ ๋ฐฉ๋ฒ
# ์ด ์ปค๋งจ๋๋ง์ผ๋ก HTML ๋ฆฌํฌํธ๊ฐ ์๋ ์์ฑ๋๋ค
pytest test_api.py -v๐ก ํฌ์ธํธ๏ผ--self-contained-html ์ ๋ถ์ด๋ฉด CSS๋ ์ด๋ฏธ์ง๊ฐ HTML์ ๋ด์ฅ๋์ด ํ์ผ ํ๋๋ก ์๊ฒฐ๋ฉ๋๋ค. GitHub๋ ํด๋ผ์ด์ธํธ์์ ๊ณต์ ๊ฐ ์ฌ์์ง๋๋ค.
05. ๋์ ํ์ธ ํ ์คํธ
ํ๊ฒฝ ๊ตฌ์ถ์ด ์๋ฃ๋๋ฉด ์๋ ์ฝ๋๋ก ๋์ ํ์ธ์ ํด๋ด ์๋ค.
# test_check.py
import requests
def test_environment_check():
"""ํ๊ฒฝ ๊ตฌ์ถ ๋์ ํ์ธ ํ
์คํธ"""
response = requests.get("https://jsonplaceholder.typicode.com/users/1")
assert response.status_code == 200
assert response.json()["id"] == 1
print("\nโ
ํ๊ฒฝ ๊ตฌ์ถ ์ฑ๊ณต๏ผAPI ํ
์คํธ๊ฐ ๋์ํ๊ณ ์์ต๋๋ค")# ์คํ ์ปค๋งจ๋
pytest test_check.py -v -s์ฑ๊ณต ์ ์ถ๋ ฅ
test_check.py::test_environment_check
โ
ํ๊ฒฝ ๊ตฌ์ถ ์ฑ๊ณต๏ผAPI ํ
์คํธ๊ฐ ๋์ํ๊ณ ์์ต๋๋ค
PASSED
1 passed in 1.23s โ
๐ก ํฌ์ธํธ๏ผ-s ์ต์
์ ๋ถ์ด๋ฉด print() ์ ์ถ๋ ฅ์ด ํฐ๋ฏธ๋์ ํ์๋ฉ๋๋ค. ๋์ ํ์ธ ์์ ํธ๋ฆฌํฉ๋๋ค.
06. ์์ฃผ ๊ฒช๋ ๋ฌธ์ & ํด๊ฒฐ๋ฒ
๊ตฌํ ์ค ์ค์ ๋ก ๊ฒช์๋ ๋ฌธ์ ๋ค์ ์ ๋ฆฌํ์ต๋๋ค. ๊ฐ์ ๊ณณ์์ ๋งํ๋ ๋ถ๋ค๊ป ๋์์ด ๋๋ฉด ์ข๊ฒ ์ต๋๋ค.
โ pip install ํ์ import ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค
์ค์นํ์ ํ
๋ฐ ModuleNotFoundError ๊ฐ ๋์ค๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์์ธ์ ์ฌ๋ฌ Python์ด ์ค์น๋์ด ์๊ณ pip์ python์ด ์๋ก ๋ค๋ฅธ ๊ฒ์ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฒฝ์ฐ์
๋๋ค.
# โ pip์ python์ด ๋ค๋ฅธ ๋ฒ์ ์ ๊ฐ๋ฆฌํค๋ ๊ฒฝ์ฐ
pip install requests # Python3.11์ ์ค์น
python test.py # Python3.9๋ก ์คํ โ ModuleNotFoundError# โ
python -m pip๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ Python์ ํ์คํ ์ค์น๋จ
python -m pip install requests๐ก ํฌ์ธํธ๏ผpip ๋์ python -m pip ๋ฅผ ์ฌ์ฉํ๋ฉด ์คํ ์ค์ธ Python๊ณผ ๊ฐ์ ํ๊ฒฝ์ ์ค์น๋์ด ํ์คํฉ๋๋ค.
โก ๊ฐ์ ํ๊ฒฝ ํ์ฑํ๋ฅผ ์์ด๋ฒ๋ฆฐ๋ค
๊ฐ์ ํ๊ฒฝ์ ๋ง๋ค์๋๋ฐ ํ์ฑํ๋ฅผ ์๊ณ ๊ธ๋ก๋ฒ ํ๊ฒฝ์ ์ค์นํด๋ฒ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ฃผ ์์ต๋๋ค. ํฐ๋ฏธ๋ ์์ ํ์ธํ๋ ์ต๊ด์ ๋ค์ด์ธ์.
# โ ๊ฐ์ ํ๊ฒฝ์ด ํ์ฑํ๋์ง ์์ ์ํ
PS C:\upwork> pip install requests # ๊ธ๋ก๋ฒ์ ์ค์น๋์ด๋ฒ๋ฆผ
# โ
(venv)๊ฐ ์์ ๋ถ์ด ์์ผ๋ฉด OK
(venv) PS C:\upwork> pip install requestsโ ๏ธ ์ฃผ์๏ผVSCode๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํฐ๋ฏธ๋์ ์๋ก ์ด ๋๋ง๋ค ๊ฐ์ ํ๊ฒฝ์ด ๋นํ์ฑํ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. .vscode/settings.json ์ ์ค์ ์ ์ถ๊ฐํ๋ฉด ์๋ ํ์ฑํํ ์ ์์ต๋๋ค.
โข playwright install์ ์์ด์ ๋ธ๋ผ์ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค
pip install playwright ๋ง์ผ๋ก๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ค์น๋์ง ์์ ์คํ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
# โ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ ์ํ๋ก ์คํํ๋ฉด ์ค๋ฅ
# playwright._impl._errors.Error: Executable doesn't exist
# โ
๋ธ๋ผ์ฐ์ ๋ ๋ณ๋ ์ค์น๊ฐ ํ์
pip install playwright
playwright install chromium โ ์ด๊ฒ๋ ํ์!๐ก ํฌ์ธํธ๏ผAPI ํ
์คํธ๋ง์ด๋ผ๋ฉด playwright install ์ ๋ถํ์ํฉ๋๋ค. UI ํ
์คํธ๊ฐ ํ์ํด์ง ํ์ด๋ฐ์ ์คํํ๋ฉด ๋ฉ๋๋ค.
โฃ pytest-html ์์ด –html ์ต์ ์ ์ฌ์ฉํ๋ค
pytest.ini ์ --html=report.html ์ ์์ฑํด๋ pytest-html ์ด ์ค์น๋์ด ์์ง ์์ผ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
# โ pytest-html ์์ด ์คํํ๋ฉด ์ค๋ฅ
# ERROR: unrecognized arguments: --html=report.html
# โ
pytest-html์ ์ค์นํ๊ณ ๋์ ์คํ
pip install pytest-html
pytest test_api.py -v๐ก ํฌ์ธํธ๏ผํ๊บผ๋ฒ์ ์ค์นํด๋๋ฉด ์์ด๋ฒ๋ฆฌ์ง ์์ต๋๋ค. pip install requests pytest pytest-html ์ ํ ๋ฒ์ ์คํํ์ธ์.
โค requirements.txt๋ก ํ๊ฒฝ์ ๊ณต์ ํ๋ค
ํ์ผ๋ก ๊ฐ๋ฐํ๋ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ PC์์ ๊ฐ์ ํ๊ฒฝ์ ์ฌํํ๊ณ ์ถ์ ๊ฒฝ์ฐ๋ requirements.txt ๋ฅผ ์ฌ์ฉํฉ์๋ค.
# ํ์ฌ ํ๊ฒฝ์ requirements.txt์ ๋ด๋ณด๋ด๊ธฐ
pip freeze > requirements.txt
# requirements.txt์์ ์ผ๊ด ์ค์น
pip install -r requirements.txt๐ก ํฌ์ธํธ๏ผGitHub์ ์ฝ๋๋ฅผ ์
๋ก๋ํ ๋ requirements.txt ๋ ํจ๊ป ์ปค๋ฐํด๋๋ฉด ๋ค๋ฅธ ์ฌ๋์ด ๋ฐ๋ก ๊ฐ์ ํ๊ฒฝ์ ์ฌํํ ์ ์์ต๋๋ค. ํฌํธํด๋ฆฌ์ค๋ก์์ ์์ฑ๋๋ ๋์์ง๋๋ค.
07. ์์ฃผ ๋ฌป๋ ์ง๋ฌธ๏ผFAQ๏ผ
Q. Python ๋ฒ์ ์ ๋ฌด์์ ์ฌ์ฉํ๋ฉด ์ข๋์๏ผ
A. Python 3.9 ์ด์์์ ๋์ํฉ๋๋ค. ๊ฐ๋ฅํ๋ฉด Python 3.11 ์ด์์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ๋ํ pytest 9๋ Python 3.9 ์ด์์ ๊ถ์ฅํฉ๋๋ค. python --version ์ผ๋ก ํ์ฌ ๋ฒ์ ์ ํ์ธํ ์ ์์ต๋๋ค.
Q. ๊ฐ์ ํ๊ฒฝ์ ๋ฐ๋์ ์ฌ์ฉํด์ผ ํ๋์๏ผ
A. ํ์๋ ์๋์ง๋ง ๊ฐ๋ ฅํ ๊ถ์ฅํฉ๋๋ค. ๊ฐ์ ํ๊ฒฝ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฒ์ ์ถฉ๋์ด ๋ฐ์ํ๊ธฐ ์ฝ๊ณ ๋์ค์ ํ๊ฒฝ์ด ๋ง๊ฐ์ง๋ ์์ธ์ด ๋ฉ๋๋ค. ์ฒ์๋ถํฐ ์ฌ์ฉํ๋ ์ต๊ด์ ๋ค์ฌ๋๋ฉด ์์ฌ์
๋๋ค.
Q. requests์ Playwright ์ด๋ ๊ฒ์ ์ฌ์ฉํ๋ฉด ์ข๋์๏ผ
A. API ํ
์คํธ๋ง์ด๋ผ๋ฉด requests, UI ํ
์คํธ์ API ํ
์คํธ๋ฅผ ๋ ๋ค ํ๋ค๋ฉด Playwright ๊ฐ ์ถ์ฒ์
๋๋ค. UI์ API ๋ชจ๋ ์ปค๋ฒํ๋ ํฌํธํด๋ฆฌ์ค๋ฅผ ๋ง๋ ๋ค๋ฉด Playwright๋ก ํต์ผํ๋ฉด ์ฝ๋๋ฒ ์ด์ค๊ฐ ์ฌํํด์ง๋๋ค.
Q. pip install์ด ๋๋ฆฐ๋ฐ์๏ผ
A. ๋คํธ์ํฌ ํ๊ฒฝ์ ๋ฐ๋ผ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. pip install --upgrade pip ๋ก pip ์์ฒด๋ฅผ ์ต์ ์ผ๋ก ํ๋ฉด ๊ฐ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ pip install -i https://pypi.org/simple/ requests ์ฒ๋ผ ๋ช
์์ ์ผ๋ก ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ง์ ํ๋ ๋ฐฉ๋ฒ๋ ์์ต๋๋ค.
Q. requirements.txt์ pyproject.toml ์ด๋ ๊ฒ์ ์ฌ์ฉํ๋ฉด ์ข๋์๏ผ
A. ๊ฐ์ธ ํ๋ก์ ํธ๋ ํ์ต์ฉ์ด๋ผ๋ฉด requirements.txt ๊ฐ ์ฌํํด์ ์ถฉ๋ถํฉ๋๋ค. ํ ๊ฐ๋ฐ์ด๋ ๋ณธ๊ฒฉ์ ์ธ ํจํค์ง ๊ด๋ฆฌ๊ฐ ํ์ํด์ง๋ฉด pyproject.toml๏ผPoetry ๋ฑ๏ผ๋ฅผ ๊ฒํ ํด๋ณด์ธ์. ํฌํธํด๋ฆฌ์ค์ฉ์ผ๋ก๋ requirements.txt ๋ก ์ถฉ๋ถํฉ๋๋ค.
08. ์ ๋ฆฌ
Python์ผ๋ก API ํ ์คํธ๋ฅผ ์์ํ๋ ๊ฒฝ์ฐ, ๋จผ์ ํ๊ฒฝ ๊ตฌ์ถ์ ์ฌ๋ฐ๋ฅด๊ฒ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. pytest์ requests๋ฅผ ์ค์นํ๊ณ ๊ฐ์ ํ๊ฒฝ์ ์ค์ ํ๋ฉด ๋ฐ๋ก API ํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์์ํ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ Python API ํ ์คํธ์ ํ์ํ ํ๊ฒฝ ๊ตฌ์ถ ์ ์ฐจ๋ฅผ ํด์คํ์ต๋๋ค.
| ๋จ๊ณ | ์ปค๋งจ๋ |
|---|---|
| ๊ฐ์ ํ๊ฒฝ ์์ฑ | python -m venv venv |
| ๊ฐ์ ํ๊ฒฝ ํ์ฑํ | venv\Scripts\activate๏ผWindows๏ผ |
| ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น | pip install requests pytest pytest-html |
| pytest.ini ์ค์ | addopts = --html=report.html --self-contained-html |
| ๋์ ํ์ธ | pytest test_check.py -v -s |
ํ๊ฒฝ ๊ตฌ์ถ์ ํ ๋ฒ ํด๋๋ฉด ์ดํ๋ ์พ์ ํฉ๋๋ค. ๊ฐ์ ํ๊ฒฝ ์์ฑใป๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์นใปpytest.ini ์ค์ ์ 3๋จ๊ณ๋ฅผ ์ตํ๋๋ฉด ๋ฐ๋ก API ํ ์คํธ๋ฅผ ์์ฑํ๊ธฐ ์์ํ ์ ์์ต๋๋ค๐ช

