Ana içeriğe geç

@vue/cli-plugin-e2e-nightwatch

vue-cli için e2e-nightwatch eklentisi

Enjekte Edilen Komutlar

  • vue-cli-service test:e2e

    Nightwatch.js ile uçtan uca testleri çalıştırın.

    Seçenekler:

    --url                 oturum açma sunucusunu otomatik başlatmak yerine verilen url üzerinden testleri çalıştır
    --config özel nightwatch yapılandırma dosyası kullan (iç yapılandırmaları geçersiz kılar)
    --headless başsız modda chrome veya firefox kullan
    --parallel test işçileri aracılığıyla paralel modu etkinleştir (sadece chromedriver'da mevcuttur)
    --use-selenium chromedriver veya geckodriver yerine Selenium bağımsız sunucusunu kullan
    -e, --env çalıştırılacak tarayıcı ortamlarını virgülle belirt (varsayılan: chrome)
    -t, --test çalıştırılacak testin adını belirt
    -f, --filter dosya adına göre testleri filtrelemek için glob
    ipucu

    Ayrıca, tüm Nightwatch CLI seçenekleri de desteklenmektedir. Örneğin: --verbose, --retries vb.


Proje Yapısı

Bu eklentiyi yüklediğinizde aşağıdaki yapı oluşturulacaktır. Nightwatch'ta en yaygın test kavramları için örnekler mevcuttur.

tests/e2e/
├── custom-assertions/
| └── elementCount.js
├── custom-commands/
| ├── customExecute.js
| ├── openHomepage.js
| └── openHomepageClass.js
├── page-objects/
| └── homepage.js
├── specs/
| ├── test.js
| └── test-with-pageobjects.js
└── globals.js

Not: Testlerinizi düzenlemek için bu yapı düzenli bir yol sağlar.

specs

Testlerin bulunduğu ana konum. --group argümanını kullanarak çalıştırma sırasında hedeflenebilecek alt klasörler içerebilir. Daha fazla bilgi.

custom-assertions

Burada yer alan dosyalar Nightwatch tarafından otomatik olarak yüklenir ve .assert ve .verify api ad alanlarına yerleştirilir, böylece Nightwatch'ın yerleşik doğrulamalarını genişletir. Daha fazla bilgi için özel doğrulamalar yazma sayfasını inceleyin.

custom-commands

Burada yer alan dosyalar Nightwatch tarafından otomatik olarak yüklenir ve ana browser api nesnesine yerleştirilir, böylece Nightwatch'ın yerleşik komutlarını genişletir. Daha fazla bilgi için özel komutlar yazma sayfasını inceleyin.

page objects

Sayfa nesneleri ile çalışmak, uçtan uca UI testlerinde popüler bir yöntemdir. Bu klasöre yerleştirilen dosyalar otomatik olarak .page api ad alanına yüklenir; dosyanın adı, sayfa nesnesinin adını oluşturur. Daha fazla bilgi için sayfa nesneleri ile çalışma bölümüne bakın.

globals.js

Küresel özellikler veya kancalar tutabilen dış globals dosyası. Daha fazla bilgi için test globals bölümünü inceleyin.


Zaten Oluşturulmuş Bir Projeye Yükleme

vue add e2e-nightwatch

Yapılandırma

Nightwatch'ı varsayılan olarak Chrome ile çalışacak şekilde önceden yapılandırdık. Firefox, --env firefox ile de kullanılabilir. Eğer uçtan uca testleri ek tarayıcılarda (örneğin Safari, Microsoft Edge) çalıştırmak istiyorsanız, proje kökünüze ek tarayıcıları yapılandırmak için bir nightwatch.conf.js veya nightwatch.json dosyası eklemeniz gerekecektir. Yapılandırma, iç Nightwatch yapılandırması ile birleştirilecektir.

Alternatif olarak, iç yapılandırmayı özel bir yapılandırma dosyası ile --config seçeneğini kullanarak tamamen değiştirebilirsiniz.

Yapılandırma seçenekleri için Nightwatch belgelerini ve tarayıcı sürücülerini ayarlama ile ilgili bilgileri inceleyin.


Testleri Çalıştırma

Varsayılan olarak, specs klasörü içindeki tüm testler Chrome ile çalıştırılacaktır. Chrome (veya Firefox) üzerinde başsız modda uçtan uca testleri çalıştırmak istiyorsanız, sadece --headless argümanını geçmeniz yeterlidir.

$ vue-cli-service test:e2e

Tek bir testi çalıştırma

Tek bir testi çalıştırmak için dosya adı yolunu sağlayın. Örneğin:

$ vue-cli-service test:e2e tests/e2e/specs/test.js

Geliştirici sunucusunu otomatik başlatmayı atla

Geliştirme sunucusu zaten çalışıyorsa ve onu otomatik başlatmayı atlamak istiyorsanız, --url argümanını geçin:

$ vue-cli-service test:e2e --url http://localhost:8080/

Firefox'ta çalıştırma

Testleri Firefox'ta çalıştırma desteği de varsayılan olarak mevcuttur. Aşağıdaki komutu çalıştırın (isteğe bağlı olarak --headless ekleyerek Firefox'u başsız modda çalıştırabilirsiniz):

$ vue-cli-service test:e2e --env firefox [--headless]

Firefox ve Chrome'u aynı anda çalıştırma

Testleri her iki tarayıcıda aynı anda çalıştırmak için her iki test ortamını da virgülle ayrılmış olarak sağlamak yeterlidir ("," ile) - boşluk bırakmadan.

$ vue-cli-service test:e2e --env firefox,chrome [--headless]
tehlike

Testleri Paralel Çalıştırma: Birden fazla test paketi olduğunda, test çalıştırmalarını önemli ölçüde daha hızlı hale getirmek için paralel test çalıştırmayı etkinleştirebilirsiniz. Eşzamanlılık dosya düzeyinde gerçekleştirilir ve mevcut her CPU çekirdeğine otomatik olarak dağıtılır. Şu anda bu yalnızca Chromedriver'da mevcut. Nightwatch belgelerinde paralel çalıştırma hakkında daha fazla bilgi edinin.

$ vue-cli-service test:e2e --parallel

Selenium ile çalıştırma

v4 itibarıyla, bu eklentide Selenium bağımsız sunucu artık dahil değildir ve çoğu durumda Nightwatch v1.0 ile Selenium ile çalıştırma gereksizdir.

Yine de Selenium sunucusunu kullanmak mümkündür, bu adımları takip ederek:

1. selenium-server NPM paketini yükleyin:

$ npm install selenium-server --save-dev

2. --use-selenium cli argümanı ile çalıştırın:

$ vue-cli-service test:e2e --use-selenium