20 most popular testng interview questions
En Sık Sorulan TestNG Mülakat Soruları ve Hazırlanmanıza Yardımcı Olacak Örneklerle Yanıtları:
TestNG ile ilgili en popüler ve sık sorulan mülakat sorularının ve cevaplarının bir listesi bu makalede burada açıklanmıştır.
Kavramı daha kolay anlayabilmeniz için ilgili yerlere basit örnekler eklenmiştir. Eminim ki bu sorular, herhangi bir TestNG röportajını başarıyla çözmenize yardımcı olacaktır.
Sıkça Sorulan TestNG Mülakat Soruları
S # 1) TestNG nedir?
Cevap: TestNG, geliştiriciler tarafından java programında birim testleri yürütmek için oluşturulmuş çerçevedir.
TestNG, Selenium Webdriver'da oluşturulan otomatik test komut dosyalarını verimli bir şekilde çalıştırmak için yazılım test edicileri tarafından da kullanılır. Tam biçimi 'Yeni Nesli Test Etmek' çerçevesidir.
unix ve linux arasındaki fark nedir
Java programlarını birim testi için başka bir çerçeve olan 'JUnit' ten esinlenmiştir. JUnit'teki tüm özelliklere ek olarak TestNG, onu daha güçlü kılan yeni özelliklere sahiptir.
S # 2) Eclipse'e TestNG'yi nasıl kuracaksınız?
Cevap:
Eclipse'e TestNG'yi yüklemek için aşağıdaki adımları izleyin:
- Eclipse'e gidin -> 'Yardım' ı tıklayın -> 'Yeni Yazılım Kur' u tıklayın.
- 'Ekle' düğmesine tıklayın, 'Sonraki' metin kutusuna adı (Tercihen TestNG) girin. 'Konum' metin kutusuna girin ve 'Tamam' işlem düğmesine tıklayın.
- TestNG onay kutusunu işaretleyin ve 'İleri' eylem düğmesine tıklayın. Kurulum başlayacak ve Eclipse kurulumdan sonra yeniden başlayacaktır.
- Eclipse'de projeye sağ tıklayın -> Derleme yolunu seçin -> Derleme Yolunu Yapılandır.
- Kitaplık sekmesini seçin -> Kitaplık ekle düğmesine tıklayın -> TestNG'yi seçin -> İleri'ye tıklayın -> Bitir'e tıklayın ve Uygula'ya tıklayın ve kapatın.
S # 3) TestNG komut dosyası nasıl çalıştırılır?
Cevap:
TestNG komut dosyasını çalıştırmak için:
Eclipse'de sınıfa sağ tıklayın, 'Farklı çalıştır' a tıklayın ve 'TestNG testi' seçeneğini seçin.
VEYA
Eclipse'in araç çubuğundaki Çalıştır düğmesine doğrudan tıklayın.
S # 4) TestNG'de kullanılan ek açıklamalar nelerdir?
Cevap: TestNG'de üç ek açıklama bölümü vardır:
(i) Ön koşul ek açıklamaları: Bunlartestten önce yürütülen TestNG notlarıdır.
@BeforeSuite, @BeforeClass, @BeforeTest, @BeforeMethod ön koşul ek açıklamalarıdır.
(ii) Test notu: Bu, sadece test senaryosundan önce bahsedilen açıklamadır (Test senaryosunu yürütmek için yazılan yöntemden önce)
@Test, test ek açıklamasıdır
(iii) Koşul sonrası açıklama: Bunlar, test senaryosundan sonra yürütülen açıklamalardır. (Test senaryosunu yürütmek için yöntem yazıldıktan sonra)
@AfterSuite, @AfterClass, @AfterTest, @AfterMethod, son koşul ek açıklamalarıdır
S # 5) TestNG'de ek açıklamaların yürütme sırası nedir?
Cevap: Ek açıklamaların uygulama sırası aşağıdaki gibidir:
@BeforeSuite @BeforeTest @BeforeClass @BeforeMethod @Test @AfterMethod @AfterClass @Aftertest @AfterSuite
S # 6) TestNG'nin avantajları nelerdir?
Cevap: TestNG'nin avantajları aşağıdaki gibidir:
- Açık kaynaklı bir çerçevedir, dolayısıyla yapılandırması kolaydır.
- TestNG kullanarak sistematik olarak test senaryoları oluşturabiliriz.
- Test senaryosu oluşturmayı kolaylaştıran çok sayıda ek açıklama verir.
- TestNG kullanılarak, testlerin öncelikleri ve uygulama sırası tanımlanabilir.
- TestNG kullanılarak gruplama mümkündür.
- HTML raporları oluşturur (Selenium Webdriver test raporlarını tek başına oluşturamaz, SW'nin bunu başarmasına yardımcı olur).
- Veri parametreleştirmesi TestNG kullanılarak mümkündür.
- JUnit'in tüm işlevlerine ek olarak, TestNG kendi işlevlerine sahiptir ve bu da onu daha güçlü kılar.
S # 7) TestNG'de öncelikler nasıl belirlenir?
Cevap: Sınıfta her zaman birden fazla test veya yöntem vardır. Bu testlere veya yöntemlere öncelik vermezsek, yöntemler alfabetik olarak seçilir ve yürütülürken yürütülür.
Testleri istediğimiz sırada çalıştırmak istiyorsak, @Test ek açıklaması ile birlikte önceliği belirlememiz gerekir.
Bu şöyle yapılabilir:
@Test (öncelik = 1), @Test (öncelik = 2)
Aşağıdaki Örneği düşünün:
@Test (priority=2) public void getText() { driver.findElement(By.id(“id”)).getText(); } @Test(priority=1) public void clickelement() { driver.findElement(By.id(“id”)).click(); }
Yukarıdaki örnekte, öncelik 1 olarak ayarlandığından önce clickelement () yürütülür.
GetText (), önceliği 2 olarak ayarlandığı için clickelement () 'den sonra çalıştırılacaktır.
S # 8) Proje raporu TestNG kullanılarak nasıl paylaşılır?
Cevap: Bunu yapmanın birkaç yolu vardır:
(ben) TestNG sınıfının yürütülmesinden sonra, konsolun yanında oluşturulan 'Çalışan sınıfın sonucu' adlı bir sekme vardır.
Bunu kopyalayıp paylaşabiliriz.
(ii) TestNG sınıfının yürütülmesinden sonra,
- Proje adına sağ tıklayın ve yenileyin
- 'Test-output' klasörüne tıklayın
- 'İndex.html' dosyasına sağ tıklayın ve özellikleri seçin
- 'Konum' un yanındaki bağlantıyı kopyalayın
TestNG tarafından oluşturulan temel HTML test raporunu görmek için bu bağlantıyı paylaşabiliriz.
Bu, sınıfın TestNG kullanılarak yürütülmesinden sonra makinenizde otomatik olarak oluşturulan dosyadır.
S # 9) TestNG'de gruplamayı nasıl tanımlayacaksınız?
Cevap: Gruplandırmayı aşağıda gösterildiği gibi gruplar özniteliğini kullanarak TestNG'de tanımlayabiliriz:
@Test (gruplar = ”başlık”)
S # 10) TestNG'ye bağımlılık nedir?
Cevap: Birçok yöntemin bağlı olduğu bazı yöntemler vardır.
Örneğin, Herhangi bir uygulamayı test etmek istiyorsak ve uygulamanın oturum açma sayfası çalışmıyorsa, o zaman senaryoların geri kalanını test edemeyiz.
Dolayısıyla, LoginTest, birçok testin bağlı olduğu yöntemdir.
Dolayısıyla şöyle yazacağız:
@Test(dependsOnMethods=”LoginTest”) Public void homePageLaunched() { }
Yukarıdaki kod, homePageLaunched () yönteminin tamamen LoginTest () yöntemine bağlı olduğunu gösterir.
LoginTest () geçilirse, yalnızca o zaman homePageLaunched () yöntemi çalıştırılır
S # 11) TestNG'de InvocationCount nedir?
Cevap: Bir test durumunu 'n' sayıda yürütmek istersek, aşağıdaki örnekte gösterildiği gibi invocationCount özelliğini kullanabiliriz.
Misal:
@Test(invocationCount=8) Public void print() { }
Yukarıdaki örnekte, print () yöntemi 8 kez çalıştırılacaktır.
S # 12) TestNG'de timeOut nedir?
Cevap: Komut dosyasındaki herhangi bir yöntemin yürütülmesi uzun sürerse, o yöntemi TestNG'de 'zaman aşımı' kullanarak sonlandırabiliriz.
@Test (zaman aşımı = 5000)
Bu durumda, yöntem 5000 ms (5 saniye) içinde sonlandırılacak ve test durumu 'Başarısız' olarak işaretlenecektir.
S # 13) TestNG'de istisnalar nasıl ele alınır?
Cevap: Bazı istisnalar beklediğimiz bazı yöntemler varsa, test senaryosunun başarısız olmaması için @Test açıklamasında istisnadan bahsedebiliriz.
Misal: Bir yöntemin 'numberFormatException' istisnasına sahip olması bekleniyorsa, try-catch bloğu belirtilmezse bu istisna nedeniyle test durumu başarısız olur.
Ancak bunu TestNG'de 'beklenenException' özelliğini aşağıdaki gibi kullanarak yapabiliriz.
@Test (beklenenException = numberFormatException.class)
Daha sonra test senaryosu başarısız olmadan çalışacaktır.
S # 14) Yaygın TestNG iddiaları nelerdir?
Cevap: Yaygın TestNG iddiaları şunları içerir:
(ben) Assert.assetEquals (Gerçek dize, Dize bekleniyor);
- İki dizeyi kabul eder.
- Her iki dizge de eşitse, test senaryosu başarıyla yürütülür, aksi takdirde test durumu başarısız olur.
(ii) Assert.assertEquals (Gerçek dize, Dize bekleniyor, Dize mesajı)
- İki dizeyi kabul eder.
- Her iki dizge de eşitse, test senaryosu başarıyla yürütülür, aksi takdirde test durumu başarısız olur.
- Test durumu başarısız olursa mesaj yazdırılır.
(iii) Assert.assertEquals (gerçek mantık, mantıksal olması bekleniyor)
- İki boole değerini kabul eder.
- Her iki boole değeri de eşitse, test durumu başarıyla yürütülür, aksi takdirde test durumu başarısız olur.
(iv) Assert.assertTrue ()
- Bir boole değerini kabul eder.
- Koşul Doğru ise iddia başarılı olur, aksi takdirde bir onaylama hatası görüntülenir.
(v) Assert.assertFalse ()
- Bir boole değerini kabul eder.
- Koşul Yanlış ise iddia başarılı olur, aksi takdirde bir onaylama hatası görüntülenir.
(Biz) Assert.assertTrue (, mesaj)
- Bir boole değerini kabul eder.
- Koşul Doğru ise iddia başarılı olur, aksi takdirde belirtilen mesajla birlikte bir onaylama hatası görüntülenir.
(geliyormusun) Assert.assertFalse (, mesaj)
- Bir boole değerini kabul eder.
- Koşul Yanlış ise iddia başarılı olur, aksi takdirde belirtilen mesajla birlikte bir onaylama hatası görüntülenir.
S # 15) TestNG'de bir test nasıl devre dışı bırakılır?
Cevap:
TestNG'de bir testi devre dışı bırakmak için, 'etkin' özelliğini aşağıdaki gibi kullanmamız gerekir:
@Test (etkin = ”yanlış”)
S # 16) TestNG'deki Onay türleri nelerdir?
Cevap: Sonuçları doğrulamak için (geçti / kaldı), iddiayı kullanmalıyız.
TestNG'de iki tür iddia vardır:
(i) Sert İddia:
Hard Assert, TestNG sınıfında doğrulamalar yapmak için kullanılan normal bir iddiadır.
Zor iddia için Assert sınıfını aşağıdaki gibi kullanmalıyız:
Assert.assertEquals (gerçek değer, beklenen değer);
Eğer hard assert başarısız olursa, assert ifadesinden sonra kodun hiçbiri çalıştırılmaz.
(ii) Yumuşak İddia:
Assert ifadesi başarısız olduktan sonra bile test yürütmeye devam etmek istiyorsak, soft assert kullanmalıyız.
Yumuşak bir iddia oluşturmak için, aşağıdaki gibi bir 'softAssert' sınıfı nesnesi oluşturmalıyız:
softAssert sassert = new softAssert ();
sassert.assertAll ();
Yani şimdi test durumu başarısız olursa, soft assert kullandığımızda yürütme sonlandırılmaz.
S # 17) Test senaryosundaki parametre testng.xml dosyası aracılığıyla nasıl iletilir?
Cevap: Oturum açma yönteminin tanımlandığı bir sınıfımız varsa, oturum açma parametrelerini test.xml dosyasından bu oturum açma yöntemine aktarabiliriz.
'@Parameters' ek açıklamasını aşağıdaki gibi kullanmamız gerekecek:
@Parameters({'user_name','password'}) @Test public void loginapp() { driverget(“appname”); driver.findElement(By.id(“login”)).sendkeys(user_name); driver.findElement(By.id(“password”)).sendkeys(password); }
Şimdi testng.xml dosyasına gidin ve aşağıdaki gibi parametreleri girin:
“suitename” > ”testname” > ”user_name” value= ”user1” /> ”password” value = ”pass1” /> ”passingparameters” />
S # 18) Bir testng.xml dosyası oluşturma ihtiyacı nedir?
Cevap: Selenium Webdriver kullanarak bir projeyi test ettiğimizde üzerinde birçok sınıf var. Bu sınıfları tek tek seçip otomasyona koyamayız. Bu nedenle, tüm sınıfların tek bir test paketinde çalışması için bir paket oluşturmamız gerekiyor.
Bunu bir testing.xml dosyası oluşturarak başarabiliriz.
S # 19) TestNG'de bir XML dosyası nasıl oluşturulur?
Cevap: Src klasörüne gidin -> dosyaya tıklayın -> dosyanın adını girin (çoğunlukla test.xml yazılır)
Ardından, bitir'e tıklayın.
Boş bir XML dosyamız var. Burada proje adı ve yürütülecek sınıfları aşağıda gösterildiği gibi paket adı ile birlikte belirtmek zorundayız.
'Testing project' > 'testing feature 1' > 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' /> 'packagename.name of class1' />
Bu dosyayı çalıştırmak için, paket gezginde testng.xml'ye gitmeliyiz, sağ tıklayıp -> TestNG paketi olarak çalıştırmalıyız
S # 20) TestNG'de bir SKIP İstisnası nasıl atılır?
Cevap: Testi kullanarak herhangi bir Testi ATLAMAK istiyorsak, TestNG'de SKIP istisnasını kullanmalıyız.
Aşağıdaki gibi yazılmıştır:
public void skipExc() { System.out.println('SKIP me'); throw new skipException(“Skipping skipExc”); } }
Röportajınız için her şeyin en iyisini diliyoruz !!
basit ikili ağaç c ++
Önerilen Kaynaklar
- Mülakat Soruları ve Cevapları
- Spock Mülakat Soruları ve Cevapları (En Popüler)
- En İyi 20+ .NET Mülakat Soruları ve Cevapları
- ETL Test Mülakat Soruları ve Cevapları
- En Önemli 20 API Testi Görüşme Soruları ve Cevapları
- En Popüler 30+ Salatalık Röportaj Soruları ve Cevapları
- En Popüler 50 CCNA Mülakat Soruları ve Cevapları
- En Popüler 40 J2EE Mülakat Sorusu ve Okumanız Gereken Cevapları