Files
049-snack-and-lift/docs/wiki/Getting-Started-ms.md
Tirsvad 42f05bdd0f Load the gym accounts from the .env.gym file
Task: MIL-010#1
Task: MIL-010#2
Task: MIL-010#3
2026-10-28 22:26:03 +08:00

2.2 KiB

English · Dansk · Bahasa Melayu

Mula menggunakan

Keperluan

Python 3.13 atau lebih baharu, Chrome atau Chromium, dan (pilihan) Docker.

Pemasangan

python -m venv .venv
source .venv/bin/activate
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"

Akaun anda

Bot tidak mengandungi kata laluan. Daftar sekali secara manual di laman (jalankan dengan --keep-open supaya folder chrome_profile menyimpan data laman), kemudian beri bot akaun itu:

export SNACK_AND_LIFT_EMAIL="yourname@test.com"
export SNACK_AND_LIFT_PASSWORD="your password"
$env:SNACK_AND_LIFT_EMAIL = "yourname@test.com"
$env:SNACK_AND_LIFT_PASSWORD = "your password"

Fail akaun

Daripada menetapkan pemboleh ubah secara manual, letakkan baris yang sama dalam fail .env.gym di folder projek (SNACK_AND_LIFT_EMAIL=... dan SNACK_AND_LIFT_PASSWORD=...). Bot membacanya semasa bermula; --env-file PATH menamakan fail lain, dan pemboleh ubah persekitaran sebenar mengatasi fail. Git mengabaikan .env.gym: jangan sekali-kali commit. SNACK_AND_LIFT_ADMIN_EMAIL dan SNACK_AND_LIFT_ADMIN_PASSWORD yang pilihan menyimpan akaun admin laman latihan; bot memuatkannya tetapi belum menggunakannya.

Jalankan dan uji

snack-and-lift
python -m pytest

Pilihan berguna: --headless, --keep-open, --first-tuesday-only (langkah 3 dan 4), --retries N, --profile-dir DIR, --screenshot-dir DIR.

Kod keluar

0 selesai, 1 satu langkah gagal (juga apabila semua percubaan gagal), 2 kelayakan tiada, 3 halaman My Bookings tidak sepadan dengan tempahan yang dibuat.

Mengambil tangkapan skrin (penyelenggara)

Laman menyimpan datanya dalam profil pelayar, jadi larian dalam bekas memerlukan akaun yang wujud dalam profil itu. Gunakan --env-file untuk kelayakan (jangan pada baris arahan atau dalam repositori) dan volume untuk profil serta tangkapan skrin:

docker build -t snack-and-lift .
docker run --rm --env-file my.env -v snack-profile:/app/chrome_profile -v "$PWD/docs/images:/app/screenshots" snack-and-lift --headless --screenshot-dir /app/screenshots