2.2 KiB
English · Dansk · Bahasa Melayu
Kom i gang
Krav
Python 3.13 eller nyere, Chrome eller Chromium og (valgfrit) Docker.
Installation
python -m venv .venv
source .venv/bin/activate
.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
Din konto
Botten indeholder ingen adgangskode. Opret en konto én gang i hånden på siden (kør med --keep-open, så mappen chrome_profile gemmer sidens data), og giv derefter botten kontoen:
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"
Kontofilen
I stedet for at sætte variabler i hånden kan du skrive de samme linjer i en fil .env.gym i projektmappen (SNACK_AND_LIFT_EMAIL=... og SNACK_AND_LIFT_PASSWORD=...). Botten læser den ved start; --env-file PATH peger på en anden fil, og en rigtig miljøvariabel vinder over filen. Git ignorerer .env.gym: læg den aldrig i repositoriet. De valgfrie SNACK_AND_LIFT_ADMIN_EMAIL og SNACK_AND_LIFT_ADMIN_PASSWORD gemmer øvelsessidens admin-konto; botten indlæser dem, men bruger dem ikke endnu.
Kør og test
snack-and-lift
python -m pytest
Nyttige indstillinger: --headless, --keep-open, --first-tuesday-only (trin 3 og 4), --retries N, --profile-dir DIR, --screenshot-dir DIR.
Exitkoder
0 færdig, 1 et trin fejlede (også når alle forsøg fejlede), 2 loginoplysninger mangler, 3 siden My Bookings passer ikke med de bookinger der blev lavet.
Skærmbilleder (vedligeholder)
Siden gemmer sine data i browserens profil, så en kørsel i en container kræver en konto der findes i den profil. Brug --env-file til loginoplysningerne (aldrig på kommandolinjen eller i repositoriet) og et volume til profilen og skærmbillederne:
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