hello@world:~$ docker-compose -f seleniumgridvideo.yml -up -d
localhost:4445 --> selenium-grid
Bu YAML dosyası, Chrome, Firefox ve Edge tarayıcılarıyla bir Selenium Grid kurmak için bir Docker Compose yapılandırma dosyasıdır. Yapılandırma, Selenium Hub servisi ve her tarayıcı için üç düğüm hizmeti içerir. Her düğüm hizmeti, Selenium etkinlik veri yolu ana bilgisayar, yayın bağlantı noktası, abone bağlantı noktası ve maksimum oturumlar için çevre değişkenleriyle yapılandırılmıştır. Chrome, Firefox ve Edge düğüm hizmetleri, paylaşılan bellek boyutu ve VNC ve hata ayıklama için açık bağlantı noktaları ile yapılandırılmıştır. Ayrıca, her tarayıcıda çalıştırılan testleri kaydetmek için üç video hizmeti vardır. Video hizmetleri, görüntüleme konteyner adı ve dosya adı için çevre değişkenleriyle yapılandırılmıştır.
Selenium Hub servisi.
- Image: selenium/hub:latest
- Container name: seleniumHub
- Ports:
- "4445:4444"
- "4442:4442"
- "4443:4443"
Chrome tarayıcısı için düğüm hizmeti.
- Image: selenium/node-chrome:latest
- Shared memory size: 2gb
- Ports:
- "5900"
- "7900"
- Environment variables:
- SE_EVENT_BUS_HOST=seleniumHub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_MAX_SESSIONS=4
- Depends on:
- HubService
Firefox tarayıcısı için düğüm hizmeti.
- Image: selenium/node-firefox:latest
- Shared memory size: 2gb
- Ports:
- "5900"
- "7900"
- Environment variables:
- SE_EVENT_BUS_HOST=seleniumHub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_MAX_SESSIONS=2
- Depends on:
- HubService
Edge tarayıcısı için düğüm hizmeti.
- Image: selenium/node-edge:latest
- Shared memory size: 2gb
- Ports:
- "5900"
- "7900"
- Environment variables:
- SE_EVENT_BUS_HOST=seleniumHub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
- SE_NODE_MAX_SESSIONS=2
- Depends on:
- HubService
Chrome tarayıcısı için video hizmeti.
- Image: selenium/video:ffmpeg-4.3.1-20230920
- Volumes:
- ./TestRecordings:/videos
- Depends on:
- ChromeService
- Environment variables:
- DISPLAY_CONTAINER_NAME=ChromeService
- FILE_NAME=chrome_video.mp4
Edge tarayıcısı için video hizmeti.
- Image: selenium/video:ffmpeg-4.3.1-20230920
- Volumes:
- ./TestRecordings:/videos
- Depends on:
- EdgeService
- Environment variables:
- DISPLAY_CONTAINER_NAME=EdgeService
- FILE_NAME=edge_video.mp4
Firefox tarayıcısı için video hizmeti.
- Image: selenium/video:ffmpeg-4.3.1-20230920
- Volumes:
- ./TestRecordings:/videos
- Depends on:
- FirefoxService
- Environment variables:
- DISPLAY_CONTAINER_NAME=FirefoxService
- FILE_NAME=firefox_video.mp4
- https://www.youtube.com/watch?v=NjQ5zZM7fpI -- //todo Scale 1+ chrome command + Vnc Viewer
- https://www.youtube.com/watch?v=r1gdJ-QICmY
Not: Şifre "secret" olarak ayarlanmıştır.
Bu kod Trendyol UI testini içerir. Bu test Page Object Model ile oluşturulmuştur.
Page Object Model hakkında daha fazla bilgi için lütfen şu yazımı okuyun: https://medium.com/@semihsaydam/seleniumda-page-object-pattern-yapısı-d152c916505d
Be Happy :)