Zalenium, Zalando ve Selenium’un isimleri birleştirilerek üretilmiş açık kaynak kodlu bir araçtır. Almanya merkezli bir Avrupa e-ticaret şirketi olan Zalando tarafından geliştirilen Zalenium esnek bir Selenium Grid altyapısı sunar. Yazılım testlerini farklı cihazlarda ve dağıtık bir biçimde test etmek için Selenium Grid aracından faydalanılabilir. Bu durumda Selenium sürücü ve tarayıcı versiyonlarının süreç içerisinde güncel ve birbirleri ile eşleşecek durumda olmaları gerekir, ayrıca kullanılacak remote cihazlar ve test ortamlarının da birbirleri ile entegrasyonunu sağlamak ekstra efor gerektirir.
Zalenium, Docker ile birlikte konteyner yapısını kullanarak kendi çalışma ortamını yaratır ve gerekli selenium sürücüleri ile tarayıcı versiyonlarını güncel tutar. Testler Zalenium ile uzak sunucularda çalışırken test süresince testlerin video kaydını gerçekleştirerek rapor olarak sunar ve test sonuçlarının takibi ve hataların tespitini kolaylaştırır.
Zalenium kullanarak sadece Chrome ve Firefox’ta test koşumları gerçekleştirilir. Diğer tarayıcılar için Sauce Labs, BrowserStack gibi Remote sunucu hizmeti sunan firmaları kullanılabilir. Zalenium, Windows, Mac ve Linux işletim sistemlerini destekler. Ayrıca Docker ve Kubernetes ile birlikte çalıştırılarak yönetilebilir.
Zalenium Kullanmanın Avantajları Nelerdir?
- Zalenium tarayıcı versiyonlarını yükler ve güncel tutar.
- Selenium sürücü versiyonlarını güncel tutar.
- Birden fazla testi paralel olarak farklı tarayıcı ve ortamda çalıştırır.
- Testin canlı izlenmesine olanak sağlar ve kaydeder.
Selenium Grid Nedir?
Selenium Grid, testlerimizi farklı ortamlarda ve cihazlarda paralel olarak koşmamızı sağlayan bir araçtır. Selenium Grid, Hub ve Node yapısını kullanır, Hub bir sunucu üzerinde merkez görevi görürken Node (gerçek veya sanal) remote cihazlardan oluşmaktadır. Hub driver’ları yöneterek Node’lara istenen komutları gönderir.
Docker Nedir?
Docker, uygulamaların farklı ortamlarda çalıştırılması sürecinde kullanılan bir platformdur. Uygulamamızı derler, ölçeklendirir, paketler ve dağıtmamızı sağlar. Docker içerisinde barındırdığı container yapısını ve Docker Hub üzerinden indirilen image’ları kullanarak ürünü farklı işletim sistemi, versiyon ve environment’larla birbirinden izole şekilde çalıştırır. Docker yeterli kaynak ve gerekli yapılandırmalar ile birlikte kullanıldığında, yapısal problemleri ortadan kaldırarak uygulamalarımızı stabil bir şekilde çalışabilecek hale getirir.
Containerization (Konteynerleştirme) Nedir?
Containerization, bir sunucu üzerindeki işletim sisteminin diğer container’lar tarafından paylaşılması demektir. Birbirinden farklı uygulamalar, dağıtımlar ve envrionment’ları birbirinden izole şekilde çalıştırır.
Aşağıdaki görselin bir Linux ubuntu sunucusu olduğunu varsayalım, ortamlar birbirinden farklı dağıtımlara (Fedora, CentOs, Debian), farklı environment’lara ve kütüphanelere sahip olabilirler. Docker Hub üzerinden istenen Image’lar indirilir ve Docker sunucu sistemindeki Kernel’ı kullanarak belirtilen dağıtım üzerinde uygulamamızı çalıştırır. Bu gibi farklı işletim sistemleri, versiyonları ve farklı environment’larla uygulamalarımızı konteynerleştirebiliriz.
Zalenium ile Esnek ve Ölçeklenebilir Konteyner Tabanlı Selenium Grid Uygulaması Nasıl Yapılır?
Gereksinimler
- Docker
- Selenium Remote Test Projesi
- Selenium Docker Image
- Zalenium Docker Image
Docker Nasıl Yüklenir? (Windows)
1. https://hub.docker.com/editions/community/docker-ce-desktop-windows adresine gidilir.
2. GetStable‘e tıklayıp indirme işlemi başlatılır.
3. Paketlerin indirilmesi beklenir.
4. OK’a basılır.
5. Paketlerin çıkarılması beklenir.
6. Close diyerek yükleme işlemlerini tamamlıyoruz.
Nasıl Yüklenir? (Linux- Ubuntu)
1. https://docs.docker.com/engine/install/ubuntu/ adresine gidilir.
2. İşletim sistemi gereksinimleri kontrol edilir.
$ cat /etc/*release*
Docker, Ubuntu 18.04 e yüklenebilir durumda.
3. Docker eski versiyonları varsa silinir.
sudo apt-get remove docker docker-engine docker.io containerd runc
4. Curl ile Script dosyası indirilir.
$ Curl -fsSL https/get.docker.com -o get-docker.sh
5. Script çalıştırılır.
$ sudo sh get-docker.sh
6. Docker versiyonu ve yüklenip yüklenmediği kontrol edilir.
$ sudo docker version