A projekt a docker‑selenium projekt alapját veszi, amely egy Docker‑Compose‑al definiált Selenium Grid‑et futtat.
Az alábbi lépések bemutatják, hogyan indítsuk el a Grid‑et, hogyan futtassuk a tesztet, és miként nézhetjük meg a futás közbeni eseményeket VNC / noVNC segítségével.
A projekt mappájában lévő docker-compose.yml file a következő konténereket indítja:
| Böngésző | Port (Grid) | Port (VNC) | Port (noVNC) |
|---|---|---|---|
| Chrome | 4444 | 5900 | 7900 |
| Edge | 4445 | 5901 | 7901 |
| Firefox | 4446 | 5902 | 7902 |
Indítsd el a Grid‑et:
# a projekt gyökerében
docker compose up -d
A konténerek most futnak a háttérben, a Selenium Grid elérhető a http://localhost:4444/wd/hub (Chrome), http://localhost:4445/wd/hub (Edge), http://localhost:4446/wd/hub (Firefox) címen.
A teszt a Gradle‑t használja. A Gradle Wrapper (./gradlew) már meg van csatolva a projekthez, így nem szükséges a globális Gradle telepítése.
# teszt futtatása
./gradlew clean test
A clean test parancs lefordítja a kódot, majd elindítja a CareerScraperTest, amely:
A docker‑selenium konténereiben x11vnc fut, ami lehetővé teszi a GUI megtekintését.
| Módszer | Port | Hogyan csatlakozz? |
|---|---|---|
| VNC | 5900 / 5901 / 5902 | VNC kliens: 5900 (Chrome), 5901 (Edge), 5902 (Firefox) – jelszó: secret |
| noVNC | 7900 / 7901 / 7902 | Browser: http://localhost:7900/ (Chrome), http://localhost:7901/ (Edge), http://localhost:7902/ (Firefox) – jelszó: secret |
Jelszó módosítása
SE_VNC_PASSWORD=your_passvagySE_NO_VNC_PASSWORD=your_passa környezeti változókban.Jelszó nélkül
SE_VNC_NO_PASSWORD=truevagySE_NO_VNC_NO_PASSWORD=true.Csak megtekintés
SE_VNC_VIEW_ONLY=truevagySE_NO_VNC_VIEW_ONLY=true.
A VNC / noVNC lehetővé teszi a teszt futása közbeni vizuális ellenőrzést – különösen hasznos, ha nem szeretnéd vagy nem tudod telepíteni a VNC klienst a gépeden.
docker compose up -d../gradlew clean test.Ezzel a setup‑mal a karrier‑scraper tesz ted könnyen futtatható, ellenőrizhető és vizuálisan is megfigyelhető Docker‑alapú Selenium környezetben. Happy testing Levi! ^^