Docker Container aracılığıyla Cypress ile E2E Testlerini Çalıştırma
Uçtan uca (E2E) testleri, web uygulamalarının çeşitli senaryolarda güvenilirliğini ve işlevselliğini sağlamak için önemlidir. Cypress.io, basitliği, hızı ve güçlü özellikleri nedeniyle E2E testleri yapmak için popüler bir araç olarak ortaya çıkmıştır. Öte yandan Docker konteynerleri, uygulamaları farklı platformlarda tutarlı bir şekilde yürütmek için hafif ve taşınabilir bir ortam sağlar. Cypress’i Docker ile birleştirmek, E2E testlerini etkili bir şekilde yönetmek ve yürütmek için sorunsuz bir çözüm sunar. Bu makalede, Cypress E2E testlerini Docker konteynerlerinde nasıl kuracağınızı ve çalıştıracağınızı keşfedeceğiz.

Cypress’i Docker ile Kurma
Cypress’i Dockerize etmeden önce sisteminizde Docker’ın kurulu olduğundan emin olun. Docker kurulduktan sonra şu adımları izleyin:
- Cypress Kurulum
Proje dizininizde npm veya yarn kullanarak Cypress’i kurmaya başlayın.
npm install cypress --save-devveya
yarn add cypress --dev2. Cypress Testleri Oluşturun
JavaScript kullanarak Cypress’i kullanarak E2E testlerinizi yazın. Cypress, testlerinizi yazmak için sezgisel bir arayüz sağlar. Testlerinizi projenizdeki cypress dizini içinde düzenleyin.
3. Dockerfile Yapılandırması
Projeden bir Dockerfile oluşturun ve Docker imajı yapılandırmasını tanımlayın. İşte temel bir örnek:
FROM cypress/factory
# Set the working directory in the container
WORKDIR /app
# Copy package.json and package-lock.json to the working directory
COPY package*.json /app
# Install Cypress dependencies
RUN npm install
# Copy the remaining application code to the working directory
COPY . .
# Command to run Cypress tests
CMD ["npm", "run", "cy:run"]cypress/factory hakkında²
cypress/factory aşağıdakilerin belirli sürümlerine sahip bir docker kapsayıcısı oluşturmak için docker argümanlarıyla kullanılabilecek bir docker görüntüsüdür:
- node
- yarn
- chrome
- firefox
- edge
- cypress
Avantajlar
- Hangi sürümlerle test edileceğini seçme özgürlüğü.
- Tarayıcının en son sürümünü test etmek için resmi sürümü beklemenize gerek yok.
- Özellikle kullanılmayan tarayıcılar dahil edilmediğinde daha küçük docker boyutları.
- Birden fazla tarayıcı sürümünü kolayca test edin
- Cypress-docker deposu için azaltılmış bakım ve çekme istekleri.
- Cypress’in düşük maliyetle daha fazla docker konteyneri çeşidi sunabilme yeteneği.
4. Docker İmajını Oluşturma
Docker dosyası oluşturulduktan sonra Docker imajını oluşturun.
docker build -t <cypress-test-folder-name> .
Terminalde kontrol edelim
docker images
5. Docker Konteynerinde Testleri Çalıştırma
Docker imajı oluşturulduktan sonra, Cypress testlerini Docker konteyneri içinde çalıştırabilirsiniz.
docker run -it <cypress-test-folder-name>
Cypress’i Docker ile Kullanmanın Avantajları
- Tutarlılık: Docker, testlerinizin farklı ortamlarda tutarlı bir şekilde çalışmasını sağlar, “benim bilgisayarımda çalışıyor” sorunlarını ortadan kaldırır.
- İzolasyon: Docker konteynerleri izolasyon sağlar, testlerin ana sistemi etkilemeden temiz bir ortamda çalışmasını sağlar.
- Ölçeklenebilirlik: Docker’ın hafif yapısı, testleri birden çok konteynerde eş zamanlı olarak çalıştırmayı mümkün kılar, ölçeklenebilirliği artırır.
- Taşınabilirlik: Dockerize edilmiş Cypress testleri, Docker kurulu herhangi bir makinede kolayca paylaşılabilir ve çalıştırılabilir, böylece takım üyeleri arasında işbirliğini kolaylaştırır.
Sonuç
Cypress’i Docker konteynerleri ile entegre etmek, E2E testlerini etkili bir şekilde yürütmek için sağlam bir çözüm sunar. Cypress’i ve bağımlılıklarını Docker imajı içine kapsayarak, çeşitli ortamlarda tutarlı ve güvenilir test yürütme sağlarsınız. Bu yaklaşım, işbirliğini, ölçeklenebilirliği ve taşınabilirliği artırarak, web uygulamalarınızın kalitesini ve güvenilirliğini artırır. Dolayısıyla, Cypress E2E test akışınızı Docker ile kolaylaştırın.
