50 most popularly asked selenium interview questions
Bu eğitimde, en üstteki Selenium IDE, Selenium RC, Selenium Grid ve Selenium WebDriver mülakat soruları dahil olmak üzere en sık sorulan 50 Selenium Röportaj sorusu.
Bu eğiticiye geçmeden önce bu Selenium makale dizisi hakkında kısa bir not:
Bu, 30'dan fazla kapsamlı öğreticiden oluşan Selenium çevrimiçi eğitim serimizdeki son öğreticidir. Umarım hepiniz bu eğitimlerden keyif almışsınızdır ve ondan öğrenmeye başlamışsınızdır. Burada yeniyseniz lütfen şu adrese gidin: bu eğitim serisindeki ilk öğretici.
******************
Ayrıca, şuna bakın ' En İyi Çevrimiçi Selenyum Eğitim Kursu Selenium otomasyon aracını 10 yılı aşkın Selenium otomasyon tecrübesine sahip bir uzmandan öğrenmek.
******************
En İyi 50 Selenium Röportaj Soruları ve Cevapları
İşte başlıyoruz.
S # 1) Otomasyon Testi nedir?
Otomasyon testi veya Test Otomasyonu, test edilen uygulamayı / sistemi test etmek için manuel süreci otomatikleştirme sürecidir. Otomasyon testi, tekrar tekrar yürütülebilen ve herhangi bir manuel müdahale gerektirmeyen test komut dosyaları oluşturmanıza izin veren ayrı bir test aracının kullanımını içerir.
S # 2) Otomasyon Testinin faydaları nelerdir?
Otomasyon testinin faydaları şunlardır:
- Tekrarlanan test durumlarının yürütülmesini destekler
- Büyük bir test matrisinin test edilmesine yardımcı olur
- Paralel yürütmeyi etkinleştirir
- Gözetimsiz yürütmeyi teşvik eder
- Doğruluğu artırarak insan kaynaklı hataları azaltır
- Zaman ve paradan tasarruf sağlar
S # 3) Selenium neden bir test aracı olarak seçilmeli?
Selenyum
- ücretsiz ve açık kaynaktır
- geniş bir kullanıcı tabanına ve yardım topluluklarına sahip olmak
- Çapraz Tarayıcı uyumluluğuna sahip (Firefox, Chrome, Internet Explorer, Safari vb.)
- harika platform uyumluluğuna sahip (Windows, Mac OS, Linux vb.)
- birden çok programlama dilini destekler (Java, C #, Ruby, Python, Pearl vb.)
- yeni ve düzenli depo geliştirmelerine sahiptir
- dağıtılmış testi destekler
S # 4) Selenyum nedir? Farklı Selenium bileşenleri nelerdir?
Selenium, en popüler otomatik test paketlerinden biridir. Selenium, web tabanlı uygulamaların ve çok çeşitli tarayıcıların ve platformların işlevsel yönlerinin otomasyon testini destekleyecek ve teşvik edecek şekilde tasarlanmıştır. Açık kaynak topluluğundaki varlığı nedeniyle, test uzmanları arasında en çok kabul gören araçlardan biri haline geldi.
qa yeni başlayanlar için röportaj soruları ve cevapları
Selenium sadece tek bir araç veya yardımcı program değil, birkaç test aracından oluşan bir pakettir ve aynı nedenle bir Suite olarak adlandırılır. Bu araçların her biri, farklı test ve test ortamı gereksinimlerini karşılamak için tasarlanmıştır.
Paket paketi aşağıdaki araç setlerinden oluşur:
- Selenium Entegre Geliştirme Ortamı (IDE) - Selenium IDE bir kayıt ve oynatma aracıdır. Firefox Eklentisi olarak dağıtılır.
- Selenium Uzaktan Kumanda (RC) - Selenium RC, bir kullanıcının istenen programlama dilinde test komut dosyaları oluşturmasına izin veren bir sunucudur. Ayrıca, geniş tarayıcı yelpazesi içinde test komut dosyalarının yürütülmesine de izin verir.
- Selenium WebDriver - WebDriver, Selenium RC'ye göre çeşitli avantajları olan tamamen farklı bir araçtır. WebDriver, web tarayıcısı ile doğrudan iletişim kurar ve otomatikleştirmek için yerel uyumluluğunu kullanır.
- Selenyum Izgara - Selenium Grid, test yürütmenizi aynı anda birden fazla platform ve ortamda dağıtmak için kullanılır.
S # 5) Selenium tarafından desteklenebilen test türleri nelerdir?
Selenium aşağıdaki test türlerini destekler:
- Fonksiyonel test
- Gerileme testi
S # 6) Selenium'un sınırlamaları nelerdir?
Selenium'un sınırlamaları şunlardır:
- Selenium, yalnızca web tabanlı uygulamaların test edilmesini destekler
- Mobil uygulamalar Selenium kullanılarak test edilemez
- Captcha ve Barkod okuyucuları Selenium kullanılarak test edilemez
- Raporlar yalnızca TestNG veya JUnit gibi üçüncü taraf araçlar kullanılarak oluşturulabilir.
- Selenium ücretsiz bir araç olduğu için, kullanıcının sayısız yardım topluluğu bulabileceği için hazır bir satıcı desteği yoktur.
- Kullanıcının önceden programlama dili bilgisine sahip olması beklenir.
S # 7) Selenium IDE, Selenium RC ve WebDriver arasındaki fark nedir?
Özellik | Selenyum IDE | Selenyum RC | WebDriver |
---|---|---|---|
Uyarıları, Gezintileri, Açılır Menüleri Yönetme | Selenium IDE, uyarıları, gezinmeleri ve açılır menüleri yönetmek için açıkça yardım sağlamaz | Selenium RC, uyarıları, navigasyonları ve açılır menüleri yönetmek için açıkça yardım sağlamaz. | WebDriver, uyarıları, gezinmeleri ve açılır menüleri verimli ve etkili bir şekilde işlemeye yardımcı olan çok çeşitli yardımcı programlar ve sınıflar sunar. |
Tarayıcı Uyumluluğu | Selenium IDE bir Firefox eklentisi olarak gelir, bu nedenle yalnızca Firefox'u destekler | Selenium RC, Mozilla Firefox, Google Chrome, Internet Explorer ve Opera'nın çeşitli sürümlerini destekler. | WebDriver, Mozilla Firefox, Google Chrome, Internet Explorer ve Opera'nın çeşitli sürümlerini destekler. Ayrıca GUI daha az veya başsız tarayıcı olan HtmlUnitDriver'ı da destekler. |
Kayıt ve Oynatma | Selenium IDE, kayıt ve oynatma özelliğini destekler | Selenium RC, kayıt ve oynatma özelliğini desteklemez. | WebDriver kayıt ve oynatma özelliğini desteklemiyor |
Sunucu Gereksinimi | Selenium IDE, test komut dosyalarını çalıştırmadan önce herhangi bir sunucunun başlatılmasını gerektirmez | Selenium RC, test komut dosyalarını çalıştırmadan önce sunucunun başlatılmasını gerektirir. | WebDriver, test komut dosyalarını çalıştırmadan önce herhangi bir sunucunun başlatılmasını gerektirmez |
Mimari | Selenium IDE, Javascript tabanlı bir çerçevedir | Selenium RC, JavaScript tabanlı bir Framework'tür. | WebDriver, tarayıcının otomasyona yönelik yerel uyumluluğunu kullanır |
Nesne odaklı | Selenium IDE nesne yönelimli bir araç değildir | Selenium RC yarı nesne yönelimli bir araçtır. | WebDriver tamamen nesne yönelimli bir araçtır |
Dinamik Bulucular (bir web sayfasındaki web öğelerini bulmak için) | Selenium IDE dinamik bulucuları desteklemiyor | Selenium RC, dinamik bulucuları desteklemez. | WebDriver dinamik bulucuları destekler |
WAP (iPhone / Android) Testi | Selenium IDE, iPhone / Andriod uygulamalarının test edilmesini desteklemez | Selenium RC, iPhone / Android uygulamalarının test edilmesini desteklemez. | WebDriver, iPhone / Android uygulamalarının test edilmesini verimli bir şekilde destekleyecek şekilde tasarlanmıştır. Araç, WAP tabanlı testler için geniş bir sürücü yelpazesiyle birlikte gelir. Örneğin, AndroidDriver, iPhoneDriver |
Dinleyici Desteği | Selenium IDE dinleyicileri desteklemiyor | Selenium RC dinleyicileri desteklemez. | WebDriver, Dinleyicilerin uygulanmasını destekler |
Hız | Selenium IDE, testi başlatan web tarayıcısına takılı olduğu için hızlıdır. Böylece, IDE ve tarayıcı doğrudan iletişim kurar | Selenium RC, tarayıcıyla doğrudan iletişim kurmadığı için WebDriver'dan daha yavaştır; bunun yerine selenese komutları Selenium Core'a gönderir ve bu da tarayıcıyla iletişim kurar. | WebDriver, doğrudan web tarayıcıları ile iletişim kurar. Böylece çok daha hızlı hale geliyor. |
S # 8) Selenium IDE'yi ne zaman kullanmalıyım?
Selenium IDE, Selenium Paketi içindeki tüm araçların en basit ve en kolayıdır. Kayıt ve oynatma özelliği, herhangi bir programlama diline en az tanıdıkla öğrenmeyi olağanüstü derecede kolaylaştırır. Selenium IDE, tecrübesiz bir kullanıcı için ideal bir araçtır.
S # 9) Selenese nedir?
Selenese, Selenium IDE'de test betikleri yazmak için kullanılan dildir.
S # 10) Selenium'daki farklı yer belirleyici türleri nelerdir?
Konumlandırıcı, bir web öğesini web sayfası içinde benzersiz bir şekilde tanımlayan bir adres olarak adlandırılabilir. Böylece, web öğelerini doğru ve kesin bir şekilde tanımlamak için Selenium'daki farklı konumlayıcı türleri :
- İD
- Sınıf adı
- İsim
- Etiket adı
- LinkText
- PartialLinkText
- Xpath
- CSS Seçici
- KARAR
S # 11) Assert ve doğrulama komutları arasındaki fark nedir?
İddia: Assert command verilen koşulun doğru mu yanlış mı olduğunu kontrol eder. Diyelim ki, belirtilen öğenin web sayfasında bulunup bulunmadığını iddia ediyoruz. Koşul doğruysa, program kontrolü bir sonraki test adımını yürütür, ancak koşul yanlışsa, yürütme durur ve daha fazla test yürütülmez.
Doğrulayın: Doğrulama komutu, verilen koşulun doğru mu yanlış mı olduğunu da kontrol eder. Koşulun doğru veya yanlış olmasına bakılmaksızın, programın yürütülmesi durmaz, yani doğrulama sırasında herhangi bir hata yürütmeyi durdurmaz ve tüm test adımları yürütülür.
S # 12) XPath nedir?
XPath XML yoluna göre bir web öğesini bulmak için kullanılır. XML, Genişletilebilir İşaretleme Dili anlamına gelir ve rastgele verileri depolamak, düzenlemek ve taşımak için kullanılır. Verileri, HTML etiketlerine çok benzeyen bir anahtar / değer çiftinde depolar. Her ikisi de biçimlendirme dili olduğundan ve aynı şemsiyenin altına düştüğü için, XPath HTML öğelerini bulmak için kullanılabilir.
XPath kullanarak öğeleri konumlandırmanın arkasındaki temel, tüm sayfa boyunca çeşitli öğeler arasında geçiş yapmak ve böylece bir kullanıcının başka bir öğenin referansıyla bir öğeyi bulmasını sağlamaktır.
S # 13) Xpath'te '/' ve '//' arasındaki fark nedir?
Tek Eğik Çizgi '/' - Tek eğik çizgi, mutlak yolla Xpath oluşturmak için kullanılır, yani xpath, belge düğümünden / başlangıç düğümünden seçimi başlatmak için oluşturulur.
Çift Eğik Çizgi '//' - Çift eğik çizgi, Xpath'i göreli yolla oluşturmak için kullanılır, yani xpath, belgenin herhangi bir yerinden seçime başlamak için oluşturulur.
S # 14) Aynı menşe politikası nedir ve nasıl ele alınabilir?
Aynı kaynak ilkesi sorunu, bir belgenin DOM'a erişmeye çalıştığımız kaynaktan farklı bir kaynaktan erişmeye izin vermez.
Kaynak, URL'nin şeması, ana bilgisayarı ve bağlantı noktasının sıralı bir kombinasyonudur. Örneğin, https://www.softwaretestinghelp.com/resources/ URL'si için kaynak, http, softwaretestinghelp.com, 80'in buna karşılık gelen bir kombinasyonudur.
Bu nedenle Selenium Core (JavaScript Programı), öğelere başlatıldığı yerden farklı bir kaynaktan erişemez. Örneğin, JavaScript Programını 'https://www.softwaretestinghelp.com' adresinden başlattıysam, aynı etki alanındaki 'https://www.softwaretestinghelp.com/resources' gibi sayfalara erişebilirim. 'Veya' https://www.softwaretestinghelp.com/istqb-free-updates/ '. Google.com, seleniumhq.org gibi diğer alanlara artık erişilemez.
Böylece, aynı menşe politikasını idare edebilmek için Selenium Uzaktan Kumanda tanıtıldı.
S # 15) Selenium Grid'i ne zaman kullanmalıyım?
Selenium Grid, dağıtılmış test yürütme, farklı ortamlarda test etme ve yürütme süresinden önemli ölçüde tasarruf sağlamak için aynı veya farklı test komut dosyalarını birden fazla platformda ve tarayıcıda aynı anda yürütmek için kullanılabilir.
S # 16) Selenium 1 ve Selenium 2 ile neyi kastediyoruz?
Selenium RC ve WebDriver, bir arada, popüler olarak Selenium 2 olarak bilinir. Selenium RC tek başına Selenium 1 olarak da anılır.
S # 17) En son Selenium aracı hangisi?
WebDriver
S # 18) WebDriver kullanarak tarayıcıyı nasıl başlatırım?
Tarayıcıyı başlatmak için aşağıdaki sözdizimi kullanılabilir:
WebDriver sürücüsü = yeni Firefox Sürücü ();
WebDriver sürücüsü = yeni ChromeDriver ();
WebDriver sürücüsü = yeni InternetExplorerDriver ();
S # 19) WebDriver'da bulunan farklı Sürücü türleri nelerdir?
WebDriver'da bulunan farklı sürücüler şunlardır:
- Firefox Sürücü
- InternetExplorerDriver
- ChromeDriver
- Safari Sürücü
- OperaDriver
- AndroidDriver
- İPhoneDriver
- HtmlUnitDriver
S # 20) WebDriver'da bulunan farklı bekleme türleri nelerdir?
İki tane WebDriver'da bulunan bekleme türleri :
- Örtülü Bekleme
- Açık Bekle
Örtülü Bekleme: Örtük beklemeler, tüm test komut dosyası boyunca ardışık her test adımı / komutu arasında varsayılan bir bekleme süresi (örneğin 30 saniye) sağlamak için kullanılır. Bu nedenle, sonraki test adımı yalnızca önceki test adımı / komutunun yürütülmesinden sonra 30 saniye geçtikten sonra yürütülecektir.
Açık Bekleme: Belirli bir koşul karşılanana kadar veya maksimum süre geçene kadar yürütmeyi durdurmak için açık beklemeler kullanılır. Örtülü beklemelerin aksine, yalnızca belirli bir durum için açık beklemeler uygulanır.
S # 21) Selenium kullanarak bir metin kutusuna nasıl yazılır?
Kullanıcı, metin kutusuna dizeyi girmek için sendKeys ('Girilecek dize') kullanabilir.
Sözdizimi:
WebElement kullanıcı adı = drv .findElement (By.id ( 'E-posta' ));
// kullanıcı adı giriliyor
username.sendKeys ( 'bir şey' );
S # 22) Ekranda görüntülenen bir öğe olup olmadığını nasıl öğrenebilirsiniz?
WebDriver, web öğelerinin görünürlüğünü kontrol etmek için aşağıdaki yöntemlerle kullanıcıyı kolaylaştırır. Bu web öğeleri düğmeler, açılan kutular, onay kutuları, radyo düğmeleri, etiketler vb. Olabilir.
- isDisplayed ()
- seçildi()
- etkin()
Sözdizimi:
isDisplayed ():
Boole buttonPresence = driver.findElement (By.id ( 'İnan' )). isDisplayed ();
seçildi():
Boole buttonSelected = driver.findElement (By.id ( 'İnan' )).seçildi();
etkin():
Boole searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).etkin();
S # 23) Bir web öğesinin metnini nasıl elde edebiliriz?
Get komutu, belirtilen web öğesinin iç metnini almak için kullanılır. Komut herhangi bir parametre gerektirmez, ancak bir dize değeri döndürür. Aynı zamanda web sayfalarında görüntülenen mesajların, etiketlerin, hataların vb. Doğrulanması için yaygın olarak kullanılan komutlardan biridir.
c ++ 'da char'ı int'e dönüştürme
Sözdizimi:
String Text = driver.findElement (By.id ('Text')). GetText ();
S # 24) Açılır menüde değer nasıl seçilir?
Açılır listedeki değer, WebDriver'ın Select sınıfı kullanılarak seçilebilir.
Sözdizimi:
selectByValue:
SelectByValue = seçin yeni Seç ( sürücü .findElement (By.id ( 'SelectID_One' )));
selectByValue.selectByValue ( 'Yeşil değer' );
selectByVisibleText:
SelectByVisibleText = seçin yeni Seç ( sürücü .findElement (By.id ( 'SelectID_Two' )));
selectByVisibleText.selectByVisibleText ( 'Kireç' );
selectByIndex:
SelectByIndex = seçin yeni Seç ( sürücü .findElement (By.id ( 'SelectID_Three' )));
selectByIndex.selectByIndex (2);
S # 25) Farklı navigasyon komutları türleri nelerdir?
Aşağıdakiler navigasyon komutları :
gezin (). geri () - Yukarıdaki komut herhangi bir parametre gerektirmez ve kullanıcıyı web tarayıcısı geçmişindeki önceki web sayfasına geri götürür.
Basit kod:
sürücü.navigate (). geri ();
gezin (). ileri () - Bu komut, kullanıcının tarayıcının geçmişine referansla sonraki web sayfasına gitmesine olanak tanır.
Basit kod:
driver.navigate (). forward ();
navigate (). yenileme () - Bu komut, kullanıcının mevcut web sayfasını tüm web öğelerini yeniden yükleyerek yenilemesini sağlar.
Basit kod:
driver.navigate (). renew ();
şu yöne rotayı ayarla() - Bu komut, kullanıcının yeni bir web tarayıcısı penceresi açmasına ve belirtilen URL'ye gitmesine olanak tanır.
Basit kod:
driver.navigate (). to (“https://google.com”);
S # 26) linkText kullanarak bir hiper bağlantıya nasıl tıklanır?
sürücü .findElement(By.linkText( 'Google' )).Tıklayın();
Komut, bağlantı metnini kullanarak öğeyi bulur ve ardından o öğeye tıklar ve böylece kullanıcı ilgili sayfaya yeniden yönlendirilir.
Yukarıda belirtilen bağlantıya aşağıdaki komut kullanılarak da erişilebilir.
sürücü .findElement (By.partialLinkText ( 'Goo' )).Tıklayın();
Yukarıdaki komut, parantez içinde sağlanan bağlantının alt dizesine dayalı olarak öğeyi bulur ve bu nedenle kısmiLinkText (), belirtilen alt dizeye sahip web öğesini bulur ve ardından üzerine tıklar.
S # 27) Nasıl WebDriver'daki tutamaç çerçevesi ?
İframe gibi bir satır içi çerçeve kısaltması, geçerli HTML belgesine başka bir belge eklemek için veya yalnızca bir web sayfasını iç içe yerleştirmeyi etkinleştirerek bir web sayfasına eklemek için kullanılır.
Kimliğe göre iframe seçin
sürücü .switchTo (). çerçeve ( ' Çerçevenin kimliği ' );
TagName kullanarak iframe bulma
driver.switchTo (). çerçeve (driver.findElements (By.tagName ('iframe'). get (0));
Dizin kullanarak iframe bulma
çerçeve (dizin)
driver.switchTo (). çerçeve (0);
çerçeve (Çerçeve Adı)
driver.switchTo (). çerçeve ('çerçevenin adı');
çerçeve (WebElement öğesi)
Üst Pencereyi Seç
driver.switchTo (). defaultContent ();
S # 28) findElement () ve findElements () ne zaman kullanıyoruz?
findElement (): findElement (), geçerli web sayfasındaki belirtilen yer belirleyici değeriyle eşleşen ilk öğeyi bulmak için kullanılır. Yalnızca ilk eşleşen öğenin getirileceğine dikkat edin.
Sözdizimi:
WebElement öğesi = sürücü .findElements (By.xpath ( '// div (@ id = 'örnek') // ul // li' ));
findElements (): findElements (), geçerli web sayfasındaki belirtilen yer belirleyici değeriyle eşleşen tüm öğeleri bulmak için kullanılır. Eşleşen tüm öğelerin alınacağını ve WebElements listesinde saklanacağını unutmayın.
Sözdizimi:
List elementList = sürücü .findElements (By.xpath ( '// div (@ id = 'örnek') // ul // li' ));
S # 29) Listede birden fazla web öğesi nasıl bulunur?
Zaman zaman, sıralı veya sırasız bir listede düzenlenmiş birden çok köprü, resim vb. Gibi aynı türden öğelerle karşılaşabiliriz. Bu nedenle, bu tür öğelerle tek bir kod parçasıyla ilgilenmek mutlak anlamlıdır ve bu WebElement Listesi kullanılarak yapılabilir.
Basit kod
// Storing the list List elementList = driver.findElements(By.xpath('//div(@id='example')//ul//li')); // Fetching the size of the list int listSize = elementList.size(); for (int i=0; i S # 30) driver.close () ile driver.quit komutu arasındaki fark nedir?
kapat() : WebDriver’ın close () yöntemi, kullanıcının o anda üzerinde çalıştığı web tarayıcısı penceresini kapatır veya WebDriver tarafından şu anda erişilmekte olan pencereyi de söyleyebiliriz. Komut, herhangi bir parametre gerektirmez ve herhangi bir değer döndürmez.
çık () : Close () yönteminden farklı olarak, quit () yöntemi programın açtığı tüm pencereleri kapatır. Close () yöntemiyle aynı şekilde, komut herhangi bir parametre gerektirmez ve herhangi bir değer döndürmez.
S # 31) Selenium pencere tabanlı açılır pencereleri işleyebilir mi?
Selenium, yalnızca web uygulama testini destekleyen bir otomasyon test aracıdır. Bu nedenle, açılır pencereler Selenium kullanılarak işlenemez.
S # 32) Web tabanlı açılır pencereleri nasıl idare edebiliriz?
WebDriver, kullanıcılara çok verimli bir yol sunar. Bu açılır pencereleri Uyarı arayüzünü kullanarak yönetin . Uyarı arayüzüyle birlikte kullanacağımız dört yöntem vardır.
- void dismiss () - dismiss () yöntemi, açılır pencere görünür görünmez “İptal” düğmesine tıklar.
- void accept () - accept () yöntemi, açılır pencere görünür görünmez “Tamam” düğmesine tıklar.
- String getText () - getText () yöntemi, uyarı kutusunda görüntülenen metni döndürür.
- void sendKeys (String stringToSend) - sendKeys () yöntemi, belirtilen dize modelini uyarı kutusuna girer.
Sözdizimi:
// javascript uyarısı kabul ediliyor
Uyarı uyarısı = driver.switchTo (). Alert ();
alert.accept ();
S # 33) Windows tabanlı açılır pencereyi nasıl idare edebiliriz?
Selenium, yalnızca web uygulaması testini destekleyen bir otomasyon test aracıdır, yani Windows tabanlı uygulamaların testini desteklemez. Ancak Selenium tek başına duruma yardımcı olamaz, ancak bazı üçüncü taraf müdahaleleriyle birlikte bu sorunun üstesinden gelinebilir. AutoIT, Robot sınıfı vb.Gibi selenyum ile birlikte pencere tabanlı açılır pencereleri işlemek için kullanılabilen birkaç üçüncü taraf araç vardır.
S # 34) Web sayfasının başlığı nasıl belirlenir?
// web sayfasının başlığını doğrulayın
assertTrue ('Pencerenin başlığı yanlış.', driver.getTitle (). equals ('Sayfanın Başlığı'));
S # 35) WebDriver kullanarak bir web öğesinin üzerine fareyle gelme?
WebDriver, kullanıcının fare ve klavye olaylarını otomatikleştirmek için yararlanabileceği geniş bir etkileşim araçları yelpazesi sunar. Eylem Arayüzü, tek kullanıcı etkileşimlerini simüle eden böyle bir yardımcı programdır.
Bu nedenle, aşağıdaki senaryoda, bir açılır menüde fareyle üzerine gelmek için Eylem Arayüzünü kullandık ve ardından bir seçenek listesi açtık.
Basit kod:
// Instantiating Action Interface Actions actions=new Actions(driver); // howering on the dropdown actions.moveToElement(driver.findElement(By.id('id of the dropdown'))).perform(); // Clicking on one of the items in the list options WebElement subLinkOption=driver.findElement(By.id('id of the sub link')); subLinkOption.click();
S # 36) Bir elemanın CSS özellikleri nasıl alınır?
Css özelliklerinin değerleri bir get () yöntemi kullanılarak alınabilir:
Sözdizimi:
driver.findElement (By.id ( 'İD “)). GetCssValue ( 'Css özniteliğinin adı' );
driver.findElement (By.id ( 'İD “)). GetCssValue ( 'yazı Boyutu' );
S # 37) WebDriver'da ekran görüntüsü nasıl alınır?
import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CaptureScreenshot { WebDriver driver; @Before public void setUp() throws Exception { driver = new FirefoxDriver(); driver.get('https://google.com'); } @After public void tearDown() throws Exception { driver.quit(); } @Test public void test() throws IOException { // Code to capture the screenshot File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); // Code to copy the screenshot in the desired location FileUtils.copyFile(scrFile, new File('C:\CaptureScreenshot\google.jpg')) } }
S # 38) Junit nedir?
Junit Apache tarafından sunulan bir birim testi çerçevesidir. Junit, Java tabanlıdır.
sql plsql röportaj soruları ve cevapları
S # 39) Junit ek açıklamaları nedir?
JUnit Ek Açıklamaları aşağıdadır:
- @Ölçek: Ek açıklama, sistemin @ Test olarak ek açıklamalı yöntemin bir test yöntemi olduğunu bilmesini sağlar. Tek bir test komut dosyasında birden çok test yöntemi olabilir.
- @Önce: @Before olarak notlandırılan yöntem, sisteme bu yöntemin her test yönteminden önce yürütüleceğini bildirir.
- @Sonra: @After ek açıklamalı yöntem, sisteme bu yöntemin her test yönteminden sonra her seferinde yürütüleceğini bildirir.
- @Dersten önce: @BeforeClass olarak açıklanmış yöntem, sisteme bu yöntemin herhangi bir test yönteminden önce bir kez çalıştırılacağını bildirir.
- @Dersten sonra: @AfterClass olarak açıklamalı yöntem, sisteme bu yöntemin herhangi bir test yönteminden sonra bir kez çalıştırılacağını bildirir.
- @Aldırmamak: @Ignore olarak ek açıklamalı yöntem, sistemin bu yöntemin çalıştırılmayacağını bilmesini sağlar.
S # 40) TestNG nedir ve Junit'ten nasıl daha iyidir?
TestNG hem geliştiriciler hem de test ediciler tarafından avantajlardan yararlanacak şekilde tasarlanmış gelişmiş bir çerçevedir. Çerçevelerin başlamasıyla birlikte JUnit, kod kalitesini önemli ölçüde artırarak Java uygulamaları, Java geliştiricileri ve Java testçileri arasında büyük bir popülerlik kazandı. JUnit'in kullanımı kolay ve anlaşılır olmasına rağmen, TestNG'yi resme getirme ihtiyacını ortaya çıkaran kendi sınırlamaları vardır. TestNG, Apache Yazılım Lisansı altında dağıtılan ve indirilmeye hazır olan açık kaynaklı bir çerçevedir.
WebDriver ile TestNG, ürünün / uygulamanın sağlığı hakkında bir fikir sahibi olmak için paydaşlarla paylaşılabilen verimli ve etkili bir test sonucu formatı sağlar ve böylece WebDriver'ın test raporları oluşturmadaki yetersizliğini ortadan kaldırır. TestNG, programın beklenmedik şekilde sonlandırılmadan çalışmasını sağlayan dahili bir istisna işleme mekanizmasına sahiptir.
TestNG'yi JUnit'ten üstün kılan çeşitli avantajları vardır. Onlardan bazıları:
- Gelişmiş ve kolay açıklamalar eklendi
- Yürütme kalıpları ayarlanabilir
- Test komut dosyalarının eşzamanlı yürütülmesi
- Test durumu bağımlılıkları ayarlanabilir
S # 41) TestNG'de test senaryosu önceliği nasıl belirlenir?
TestNG'de Öncelik Belirleme
Kod Parçacığı
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
Test Yürütme Sırası:
- Yöntem 1
- Yöntem2
- Yöntem3
S # 42) Çerçeve nedir?
Çerçeve, sütun otomasyon testi için çeşitli kılavuzlar, kodlama standartları, kavramlar, süreçler, uygulamalar, proje hiyerarşileri, modülerlik, raporlama mekanizması, test verileri enjeksiyonları vs.'nin yapıcı bir karışımıdır.
S # 43) Otomasyon çerçevesinin avantajları nelerdir?
Avantajı Test Otomasyon çerçevesi
- Kodun yeniden kullanılabilirliği
- Maksimum kapsama
- Kurtarma senaryosu
- Düşük maliyetli bakım
- Minimum manuel müdahale
- Kolay Raporlama
S # 44) Farklı çerçeve türleri nelerdir?
Aşağıda farklı çerçeve türleri bulunmaktadır:
- Modül Tabanlı Test Çerçevesi: Çerçeve, tüm 'Test Edilen Uygulama' yı mantıksal ve yalıtılmış modüllerin sayısına böler. Her modül için ayrı ve bağımsız bir test betiği oluşturuyoruz. Bu nedenle, bu test komut dosyaları bir araya geldiğinde, birden fazla modülü temsil eden daha büyük bir test komut dosyası oluşturur.
- Kütüphane Mimarisi Test Çerçevesi: Çerçevenin arkasındaki temel temel, ortak adımları belirlemek ve bunları bir kitaplık altındaki işlevler halinde gruplamak ve gerektiğinde bu işlevleri test komut dosyalarında çağırmaktır.
- Veriye Dayalı Test Çerçevesi: Veriye Dayalı Test Çerçevesi, kullanıcının test komut dosyası mantığını ve test verilerini birbirinden ayırmasına yardımcı olur. Kullanıcının test verilerini harici bir veri tabanına kaydetmesini sağlar. Veriler, geleneksel olarak 'Anahtar-Değer' çiftlerinde depolanır. Bu nedenle, anahtar test komut dosyalarındaki verilere erişmek ve bunları doldurmak için kullanılabilir.
- Anahtar Kelime Odaklı Test Çerçevesi: Anahtar Kelime Odaklı test çerçevesi, yalnızca test verilerini komut dosyalarından ayırmakla kalmayıp, aynı zamanda test komut dosyasına ait belirli kod kümesini harici bir veri dosyasında saklaması açısından Veriye Dayalı Test Çerçevesinin bir uzantısıdır.
- Karma Test Çerçevesi: Hibrit Test Çerçevesi, yukarıda belirtilen birden fazla çerçevenin birleşimidir. Böyle bir kurulumla ilgili en iyi şey, her türlü ilişkili çerçevenin faydalarından yararlanmasıdır.
- Davranış Odaklı Geliştirme Çerçevesi: Davranış Odaklı Geliştirme çerçevesi, İş Analistleri, Geliştiriciler, Test Uzmanları vb. İçin kolayca okunabilir ve anlaşılabilir bir formatta işlevsel doğrulamaların otomasyonunu sağlar.
S # 45) Excel'den test verilerini nasıl okuyabilirim?
Test verileri, JXL veya POI API kullanılarak excel'den verimli bir şekilde okunabilir. Ayrıntılı öğreticiye buradan bakın .
S # 46) POI ve jxl jar arasındaki fark nedir?
# JXL kavanoz POI kavanozu bir JXL '.xls' biçimini, yani ikili tabanlı biçimi destekler. JXL, Excel 2007 ve '.xlsx' biçimini, yani XML tabanlı biçimi desteklemez POI kavanozu tüm bu formatları destekler iki JXL API en son 2009 yılında güncellendi İÇN düzenli olarak güncellenir ve yayınlanır 3 JXL dokümantasyonu, POI'ninki kadar kapsamlı değil POI'nin iyi hazırlanmış ve oldukça kapsamlı bir dokümantasyonu vardır 4 JXL API, zengin metin biçimlendirmesini desteklemez POI API zengin metin biçimlendirmesini destekler 5 JXL API, POI API'den daha hızlıdır POI API, JXL API'den daha yavaştır
S # 47) Selenium ve QTP arasındaki fark nedir?
Özellik Selenyum Hızlı Test Uzmanı (QTP) Tarayıcı Uyumluluğu Selenium, Firefox, Chrome, Safari, Internet Explorer, Opera vb. Gibi hemen hemen tüm popüler tarayıcıları destekler. QTP, Internet Explorer, Firefox ve Chrome'u destekler. QTP yalnızca Windows İşletim Sistemini destekler Dağıtım Selenium açık kaynak kodlu bir araç olarak dağıtılır ve ücretsiz olarak kullanılabilir QTP lisanslı bir araç olarak dağıtılır ve ticarileştirilir Test Edilen Uygulama Selenium, yalnızca web tabanlı uygulamaların test edilmesini destekler QTP, hem web tabanlı uygulamanın hem de Windows tabanlı uygulamanın test edilmesini destekler Nesne Deposu Nesne Deposunun ayrı bir varlık olarak oluşturulması gerekir QTP, Nesne Deposunu otomatik olarak oluşturur ve korur Dil desteği Selenium, Java, C #, Ruby, Python, Perl gibi birden çok programlama dilini destekler. QTP yalnızca VB Komut Dosyasını destekler Satıcı Desteği Selenium ücretsiz bir araç olduğundan, kullanıcı sorun giderme konusunda satıcının desteğini alamaz. Kullanıcılar, herhangi bir sorun olması durumunda satıcının desteğini kolayca alabilir
S # 48) WebDriver Mobil uygulamaları test edebilir mi?
WebDriver, Mobil uygulamaları test edemez. WebDriver, web tabanlı bir test aracıdır, bu nedenle mobil tarayıcılardaki uygulamalar test edilebilir.
S # 49) Captcha otomatikleştirilebilir mi?
Hayır, captcha ve barkod okuyucu otomatikleştirilemez.
S # 50) Nesne Deposu nedir? Selenium'da nasıl bir Nesne Deposu oluşturabiliriz?
Nesne Deposu, yer belirleyici değerleriyle birlikte Test Altındaki Uygulama'ya (AUT) ait web öğelerinin koleksiyonunu ifade etmek için kullanılan bir terimdir. Böylelikle, komut dosyası içinde eleman gerektiğinde, konumlandırıcı değeri Nesne Deposundan doldurulabilir. Nesne Deposu, konumlandırıcıları komut dosyalarına kodlamak yerine merkezi bir konumda depolamak için kullanılır.
Selenium'da nesneler, gerektiğinde komut dosyası içine yerleştirilebilen bir excel sayfasında saklanabilir.
Şimdilik bu kadar.
Umarım bu yazıda en sık sorulan Selenium ve WebDriver Röportaj sorularının yanıtlarını bulacaksınız. Burada verilen yanıtlar, Selenium temellerini ve gelişmiş WebDriver konularını anlamak için de yararlıdır.
Burada cevaplanmayan herhangi bir Selenium Röportajı sorunuz var mı? Lütfen aşağıdaki yorumlarda bize bildirin, hepsini cevaplamaya çalışacağız.
=> Bu sadece bu makaleyi değil, aynı zamanda tüm Selenium eğitim serimizi de bitiriyor. Bu sayfada listelenen TÜM 30'dan fazla öğreticinin listesine bakın . Lütfen yorumlarınızı ve sorularınızı bize bildirin.
Önerilen Kaynaklar
- Mülakat Soruları ve Cevapları
- Spock Mülakat Soruları ve Cevapları (En Popüler)
- ETL Test Mülakat Soruları ve Cevapları
- Salatalık Selenium Eğitimi: Salatalık Java Selenium WebDriver Entegrasyonu
- Selenyum SSS
- Selenium'un JMeter ile entegrasyonu
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- En Popüler 50 CCNA Mülakat Soruları ve Cevapları