Örnek sorular
Ta Cross Browser Parallel ExecutionZorluk 1
Bir test otomasyonu kurulumunda Selenium Grid'in temel amacı nedir?
- aWebDriver test çalıştırmalarını birden fazla makine ve tarayıcı kombinasyonuna dağıtmak✓
- bKullanıcı hikayelerinden manuel scriptleme olmadan otomatik olarak test case üretmek
- cSayfaları saf olarak Node.js içinde render ederek browser driver ihtiyacını ortadan kaldırmak
- dManuel exploratory test notlarını otomatik test scriptlerine dönüştürmek; bu genellikle bir Grid bileşeni değil, record-and-playback araçlarının işidir
Açıklama:Selenium Grid, WebDriver oturumlarını farklı uzak makinelere (node) yönlendirerek testlerin tek bir makinede tek bir tarayıcıyla değil, birden fazla tarayıcı/versiyon/işletim sistemi kombinasyonunda paralel çalışmasını sağlar.
Ta Cross Browser Parallel ExecutionZorluk 1
Selenium Grid'in hub-node mimarisinde hub hangi rolü üstlenir?
- aTestlerin çalıştığı gerçek tarayıcı örneklerini çalıştırır
- bTest isteklerini alır ve her oturumu uygun, müsait bir node'a yönlendirir✓
- cHer node'un her oturum bittikten sonra ürettiği nihai HTML test raporlarını, daha sonra incelenmek üzere saklar
- dTest kodunu tarayıcıya göndermeden önce derler
Açıklama:Hub, gelen WebDriver oturum isteklerini kabul eden ve istenen tarayıcı/platform yeteneklerine uyan kayıtlı bir node'a yönlendiren merkezi noktadır; gerçek tarayıcı hub'da değil node'da çalışır.
Ta Cross Browser Parallel ExecutionZorluk 1
Selenium Grid terminolojisinde bir "node" nedir?
- aHangi testlerin önce çalışacağını listeleyen bir konfigürasyon dosyası
- bBelirli bir tarayıcı versiyonu için yazılmış tek bir test case
- cTüm Grid genelinde birden fazla test çalıştırmasının geçti/kaldı sayılarını ve ekran görüntülerini toplayan bir raporlama panosu
- dHub'a kaydolan ve tarayıcı örneklerini çalıştıran bir makine (fiziksel, sanal veya konteynerize)✓
Açıklama:Node, hub'a kendini kaydeden, desteklediği tarayıcı/platformları duyuran ve test adımlarını çalıştıran tarayıcı örneklerini gerçekten başlatıp çalıştıran bir makinedir.
Ta Cross Browser Parallel ExecutionZorluk 1
Selenium Grid node'larını Docker konteynerleri içinde çalıştırmak neden yaygın bir uygulamadır?
- aDocker, tarayıcı binary'lerinin kurulmasına gerek bırakmaz
- bKonteynerler, konfigürasyon olmadan kırılgan locator'ları otomatik olarak düzeltir
- cHer konteyner, talep üzerine başlatılıp kapatılabilen izole, tekrarlanabilir bir tarayıcı ortamı sağlar✓
- dDocker konteynerleri, salt konteyner çalışma zamanı sayesinde tarayıcı otomasyonunu her zaman diğer tüm çalıştırma yöntemlerinden daha hızlı çalıştırır
Açıklama:Docker konteynerleri belirli bir tarayıcı ve driver versiyonunu izole bir ortamda paketler; bu ortamlar hızlı ve tutarlı biçimde ayağa kaldırılıp kapatılabildiğinden node kapasitesini ortamlar arası bağımlılık çakışması olmadan ölçeklemek kolaylaşır.
Ta Cross Browser Parallel ExecutionZorluk 2
Bulut tabanlı tarayıcı grid servisleri (ticari cihaz/tarayıcı çiftlikleri gibi) tipik olarak kendi barındırılan bir Selenium Grid'in ötesinde genel olarak ne sağlar?
- aWebDriver uyumlu test kodu yazmayı tamamen atlama imkanı
- bAltyapıyı kendiniz bakımını yapmadan geniş, hazır bir gerçek tarayıcı/versiyon/işletim sistemi matrisi✓
- cManuel test case'lerin otomatik olarak Playwright scriptlerine dönüştürülmesi
- dAltta yatan test kodu ne kadar kötü yazılmış olursa olsun tüm flaky testlerin otomatik olarak ortadan kalkması garantisi
Açıklama:Bulut tarayıcı grid servisleri geniş bir gerçek tarayıcı/versiyon/işletim sistemi (mobil cihazlar dahil) kombinasyonunu barındırıp bakımını üstlenir; böylece ekipler bu altyapıyı kendileri kurup bakımını yapmak zorunda kalmaz, ancak yine de bu servislere karşı çalıştırılacak geçerli WebDriver-uyumlu testler gerekir.
Ta Cross Browser Parallel ExecutionZorluk 2
Playwright test çalıştırması bağlamında "sharding" ne anlama gelir?
- aToplam test dosyası kümesini birden fazla makine veya sürece bölerek her shard'ın yalnızca bir alt kümeyi çalıştırmasını sağlamak✓
- bTek bir test dosyasını birden fazla küçük assertion fonksiyonuna bölmek
- cTest verisini tarayıcıya gönderilmeden önce şifrelemek
- dBir test içindeki yalnızca başarısız assertion'ları, testin geri kalan adımlarını yeniden çalıştırmadan otomatik olarak yeniden denemek
Açıklama:Playwright'ta sharding, tüm test suite'ini belirtilen sayıda parçaya böler (ör. --shard=1/4) ve her shard farklı bir makinede veya süreçte çalışarak yalnızca kendisine atanan test dosyası alt kümesini yürütür, böylece toplam çalışma süresi kısalır.