71 pertanyaan wawancara Selenium Kritis yang Tidak Terjawab

Dalam tutorial pertanyaan wawancara selenium ini, kami akan membahas semua pertanyaan pertanyaan wawancara kritis Selenium bersama dengan pertanyaan wawancara kerangka kerja Otomasi Selenium tingkat lanjut. Tutorial ini dibagi menjadi tiga segmen:

Pertanyaan Wawancara Kerangka Selenium

Pertanyaan lanjutan tentang wawancara selenium

Pertanyaan wawancara selenium menengah

CATATAN : Fokus dari tutorial Tanya Jawab wawancara Selenium ini adalah untuk membahas kuesioner yang paling kritis dan kompleks karena Anda mungkin sudah mengetahui tentang kuesioner dasar.

Awalnya kita akan mulai dengan pertanyaan dan jawaban wawancara Advance Selenium Framework kemudian maju ke pertanyaan dan jawaban wawancara Kritis / Lanjutan selenium dan terakhir kita selesaikan tutorial ini dengan level menengah sehingga Anda dapat mempersiapkan dengan baik.

Pertanyaan Wawancara Selenium
Pertanyaan Wawancara Selenium

Pertanyaan Wawancara Kerangka Selenium

Pertanyaan Wawancara Selenium Lanjutan

Pertanyaan wawancara selenium menengah

Pertanyaan Wawancara Kerangka Selenium: 

Ada berapa jenis Kerangka Selenium yang populer?

Ada empat jenis kerangka Selenium yang ada, yaitu: 

Ada berapa banyak pendekatan berbeda untuk merancang kerangka kerja Model Objek Halaman?

Apa pabrik Halaman di selenium?

PageFactory adalah kelas dari perpustakaan Selenium dari paket yang disebut sebagai org.openqa.selenium.support yang membantu merancang pola Desain Objek Halaman dalam kerangka Model Objek Halaman, yang memiliki beberapa implementasi seperti:

Apa perbedaan desain utama antara Model Objek Halaman Klasik dan Model Objek Halaman Khusus?

Jadi, setiap laman web harus memiliki satu antarmuka untuk menyimpan pencari lokasi dan 1 kelas untuk operasi web tingkat laman dan pernyataan terkaitnya.

Apa prinsip desain Kerangka Model Objek Halaman?

Prinsip Perancangan framework Model Objek Halaman didasarkan pada prinsip atau konsep, yaitu: 

Jadi, Semua tindakan halaman (operasi yang berbeda dari fungsionalitas halaman web) berada di kelas Halaman masing-masing.

Sebutkan perbedaan utama antara Model Objek Halaman dan Model Objek Halaman Hibrid?

Perbedaan antara Model Objek Halaman dan Model Objek Halaman Hibrid adalah bahwa Model Objek Halaman Hibrid didasarkan pada Desain kerangka Model Objek Halaman bersama dengan fitur ekstensif dari Kerangka Berdasarkan Data dan mendukung berbagai macam Utilitas Operasi Data seperti di bawah ini : 

Apa bahasa Parser yang digunakan dalam kerangka kerja Cucumber -BDD?

Pengurai bahasa yang digunakan dalam kerangka kerja Cucumber -BDD adalah Gherkin.

Apa bahasa Gherkin?

Gherkin adalah DSL (Domain Specific Language) dan bahasa seperti Inggris, yang sangat mudah dibaca dan dipahami (yaitu, give (), when (), then (), dll.)

Apa yang Anda maksud dengan diberikan () di Gherkin?

 Metode Given () menyatakan bahwa beberapa situasi atau skenario diberikan atau dinyatakan.

 Apa yang Anda maksud dengan when () di Gherkin?

When () berarti ketika Anda melakukan beberapa operasi.

Apa yang Anda maksud dengan then () di Gherkin?

then () digunakan sebagai pernyataan setelah operasi dilakukan oleh given (). when ().

Alat CI apa yang Anda gunakan sebagai bagian dari kerangka kerja?

Kami menggunakan Jenkins (sebagian besar) sebagai alat CI sumber terbuka.

Alat build apa yang Anda gunakan sebagai bagian dari framework?

Kami menggunakan fitur build seperti Maven / Gradle / ant (sebelumnya digunakan).

Apa perbedaan utama antara maven dan Gradle?

Gradle adalah versi lanjutan dari apa yang dilakukan maven, dan bersama dengan itu, kita juga dapat membuat tugas (seperti fitur yang tersedia di ANT), jadi kita dapat mempertimbangkan pada tingkat tinggi: 

Gradle = >> Maven + Ant 

Sebagai bagian dari Selenium C #, kami menggunakan Gallio sebagai alat pembuatan. 

Apa kerangka Uji Unit yang kami gunakan sebagai bagian dari kerangka Otomasi Selenium?

Kami sebagian besar menggunakan TestNG / JUnit (JUnit kurang digunakan saat ini) sebagai bagian dari kerangka pengujian unit sambil membangun kerangka Otomasi dengan Selenium. 

Sebagai bagian dari kerangka Selenium C #, Kami menggunakan NUnit / MbUnit sebagai kerangka pengujian unit.

Pendekatan apa yang dapat dipertimbangkan saat merancang alat Pelaporan sebagai bagian dari kerangka Selenium?

Ada berbagai pendekatan pelaporan yang dapat kami ambil saat merancang kerangka kerja:

Terlepas dari integrasi alat pelaporan sumber terbuka ini, kami juga dapat memilih beberapa fitur atau dasbor pelaporan lanjutan untuk dibangun dengan teknologi dan alat di bawah ini:

Bagaimana Anda menggunakan ELK untuk membangun dasbor pelaporan dengan Selenium Framework:

Ada prinsip dasar desain yang digunakan untuk mendesain dashboard Otomasi, yaitu: 

Bagaimana Anda membuat laporan ubahsuaian HTML?

Anda dapat menggunakan berbagai pemroses dan antarmuka reporter yang disediakan oleh TestNg untuk merekam peristiwa dan kumpulan datanya masing-masing serta membuat HTML dengan menggunakan kumpulan data tersebut dan tag HTML di utilitas laporan.

Apa saja tantangan yang Anda hadapi saat mengembangkan kerangka kerja?

Ada berbagai tantangan yang dapat Anda sebutkan sesuai pengalaman Anda saat mengembangkan kerangka kerja, misalnya: 

Sebutkan semua komponen Selenium yang telah Anda gunakan dalam Kerangka Selenium Anda?

Anda dapat menyebutkannya tergantung pada kerangka Anda.

Apa aliran kerangka Otomasi Anda?

Anda dapat menyebutkan aliran eksekusi kerangka Anda tergantung pada aliran Kerangka Anda dan alat yang Anda gunakan; di bawah ini adalah contoh yang bisa Anda sebutkan:

CI (Jenkins) → Alat Bangun (Maven /Gradle) → Unit Test Framework (TestNg) → TestNg.xml - >> TestClasses → BaseTest (Setiap Kelas Tes memperluas kelas Base sebagai baseTest di mana @beforeClass / @ BeforeSuite @afterClass dll keluar) -> TestMethods → PageClasses → Page Methods → WebUtilities ( kelas yang dapat digunakan kembali untuk utilitas WebAction) - >> Reporting Utils 

Apa yang Anda pahami tentang kerangka Kerja Berdasarkan Data, dan di mana kami menggunakan kerangka kerja Berdasarkan Data?

Kerangka Kerja Berdasarkan Data pada dasarnya adalah kerangka kerja yang didorong oleh Data. Karena itu, di mana aplikasi atau jenis aplikasi di mana kasus atau skenario Uji yang Sama dijalankan beberapa kali dengan kumpulan data yang berbeda atau sumber atau Data sangat luas seperti dalam kasus di mana kita perlu berinteraksi dengan berbagai Sumber data disana kami menggunakan framework Data-driven. 

Sumber Data yang berbeda dapat berupa: 

Bagaimana menjelaskan kerangka otomatisasi selenium dalam sebuah wawancara?

 Ada pendekatan berbeda yang dapat Anda lakukan untuk menjelaskan kerangka otomatisasi selenium dalam sebuah wawancara; pendekatan terbaik yang mungkin adalah pendekatan modular, yang memecah penjelasan menjadi modul terpisah yang berbeda, seperti:

Mari Diskusikan Secara Detail: 

Jenis Kerangka dan Kunci dan fitur unik dari Kerangka:

Anda perlu menyebutkan jenis kerangka kerja seperti Kerangka Hibrid, kerangka model objek halaman, kerangka Model Objek Halaman hybrid, dll. 

Anda perlu menyebutkan fitur unik kerangka kerja, seperti misalnya:

Alat dan Teknologi yang digunakan dalam kerangka Selenium:

Anda dapat menyebutkan alat dan teknologi yang digunakan saat mengembangkan kerangka kerja, seperti:

Alur eksekusi Kerangka Selenium:

Anda dapat menyebutkan aliran eksekusi kerangka kerja, yaitu, bagaimana Anda memicu rangkaian pengujian dan bagaimana mengalir ke kasus / metode pengujian dan hingga Util Kerangka seperti webutils, data utils, dll. Anda dapat merujuk ke pertanyaan di atas dimana kami membahas bagaimana menjelaskan aliran eksekusi kerangka Selenium.

Berbagai Skenario Kritis ditangani oleh kerangka Anda:

Dalam modul ini, Anda dapat mendiskusikan fitur-fitur penting yang telah diotomatisasi sebagai bagian dari otomatisasi aplikasi Anda dengan kerangka kerja Anda. Ada banyak kasus penggunaan atau fitur yang dapat Anda sebutkan di sini, seperti: 

Bagaimana merancang skenario logging dalam kerangka Selenium?

Anda dapat menggunakan log4j untuk pencatatan, atau Anda dapat menggunakan pencatatan waktu nyata dan penerapan dasbor debugging dengan Graylog, yang pada dasarnya menggunakan ElasticSearch di backend untuk detail pencatatan dan debug waktu nyata.

Apa pola desain yang Anda gunakan saat mendesain kerangka kerja?

Anda dapat menggunakan pola Desain yang berbeda sesuai kebutuhan dan desain kerangka Otomasi, seperti:

Pertanyaan Wawancara Selenium Kritis atau Lanjutan:

Berapa banyak cara Anda dapat menjalankan skrip otomatisasi Anda secara paralel?

Ada beberapa cara dan pendekatan untuk menjalankan skrip pengujian Anda secara paralel, seperti: 

Maven:

Menggunakan plugin surefire: 

5

 benar

Di sini hitungan garpu mewakili jumlah jumlah utas paralel.

Gradle: 

tasks.withType(Test) {
        maxParallelForks = Runtime.runtime.availableProcessors()
    }

Apa perbedaan antara metode setSpeed ​​() dan sleep ()?

Metode setSpeed ​​() di Selenium pada dasarnya menetapkan kecepatan eksekusi setiap tindakan / perintah. 

Jadi katakanlah jika Anda setSpeed ​​("2000"), maka setiap baris eksekusi akan tertunda selama 2000 milidetik. 

Di sisi lain, Thread.sleep () akan menyebabkan penundaan 3000 milidetik (ini akan menangguhkan utas untuk operasi tertentu). 

Karenanya tidur () diterapkan ke 1 operasi; di sisi lain, setSpeed ​​() memperkenalkan penundaan untuk setiap operasi dan dengan demikian menyetel kecepatan eksekusi.  

Bagaimana cara memverifikasi keberadaan ScrollBar dengan Selenium? 

Untuk memverifikasi scroll bar horizontal di halaman web dengan Selenium, kami menggunakan Javascriptexecutor dengan cara di bawah ini: 

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfHorizontalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollWidth>document.documentElement.clientWidth;");

Untuk memverifikasi bilah gulir vertikal di Halaman Web menggunakan Selenium webdriver juga kita perlu menggunakan Javascriptexecutor

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfVerticalScroll  = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight;");

Tulis kode untuk menangani elemen Web yang tersembunyi di selenium webdriver?

WebElement element=driver.findElement(By.id("id_of_Element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
jsExecutor.executeScript("arguments[0].click();", element);

Sebutkan pendekatan berbeda untuk menangani pop up berbasis jendela menggunakan Selenium webdriver?

Anda dapat menggunakan pendekatan di bawah ini untuk menangani aplikasi berbasis Window seperti Window Pop up: 

Apa antarmuka induk WebDriver?

CariKonteks

Sebutkan perbedaan utama antara POI dan JXL Jars?

POI mendukung pemformatan bersyarat, pemformatan teks kaya, atau format xlsx, tetapi di sisi lain, JXL tidak mendukung salah satu fitur ini.

Perpustakaan POI dipertahankan dan diperbarui dibandingkan dengan JXL.

Bagaimana Anda menangani latensi jaringan Anda menggunakan Selenium?

Kita dapat menggunakan berikut ini untuk menangani latensi jaringan menggunakan di Selenium: 

Driver.manage.pageloadingtime

Apa pendekatan yang akan Anda ambil untuk menangani pengujian konten Ajax dengan Selenium WebDriver?

AJAX pada dasarnya adalah Asynchronous Javascript dan XML. Semua komunikasi Aplikasi berbasis AJAX didasarkan pada panggilan asinkron, 

yang memungkinkan acara apa pun dilakukan tanpa menyegarkan laman web. Setiap operasi dapat dilakukan secara independen dari Acara lainnya.

Apa tantangan saat bekerja dengan panggilan AJAX? Pengandar Web Selenium?

Untuk bekerja dengan aplikasi AJAX, Anda mungkin perlu menunggu untuk kasus penggunaan yang disebutkan di atas: 

Apa pendekatan untuk bekerja dengan Proxy di Selenium Webdriver?

Ada dua Pendekatan berbeda yang dapat Anda tangani proxy di Selenium Webdriver: 

Proxy proxy=new Proxy();
proxy.setHttpProxy("localhost:8889");
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver=new FirefoxDriver(capabilities);

Sebutkan cara untuk mencapai sinkronisasi di WebDriver?

Kami dapat menangani sinkronisasi di webdriver Selenium dengan menggunakan mekanisme tunggu yang berbeda: 

Sebutkan perbedaan utama antara TestNg @BeforeTest dan @BeforeMethod? 

Dalam TestNg @BeforeTest dan @BeoreMethod memiliki aspek yang berbeda, yaitu:

Buat daftar berbagai jenis API WebDriver yang ada di Selenium?

Berapa banyak cara untuk mencapai eksekusi tanpa kepala dengan Selenium?

Kami dapat menggunakan driver di bawah ini untuk mencapai otomatisasi tanpa kepala dengan Selenium: 

Apa itu Tunggu Lancar Di Selenium WebDriver?

Dengan FluentWait, Anda dapat menyetel jumlah waktu maksimum (katakanlah 3 menit) untuk menunggu hingga memenuhi kondisi tertentu, dan selama itu, Anda akan terus melakukan polling atau memeriksa dengan frekuensi tertentu (unit waktu yang sangat kecil, katakanlah 3 detik) untuk memeriksa.

Jika kondisi terpenuhi, maka akan mengembalikan nilai true, dan jika tidak, itu akan memunculkan pengecualian "ElementNotVisibleException".

Sintaks dari fluentwait di Selenium adalah:

Wait fluentWait = new FluentWait(driver).withTimeout(100, TimeUnit.SECONDS)
  .pollingevery(2, TimeUnit.SECONDS)
  .ignoring(ElementNotVisibleException.class);

Beri tahu kami beberapa pengecualian Selenium yang Anda temui saat bekerja dengan` Selenium WebDriver?

Bagaimana Anda menghapus cookie di Selenium?

Perintah untuk menghapus cookie di Selenium adalah: 

driver.manage().deleteAllCookies();

Jelaskan pendekatannya bagaimana Anda membaca variabel javascript di selenium webdriver?

Kita perlu menggunakan JavascriptExecutor untuk bisa melakukannya. 

JavascriptExecutor jsExecutor = (JavascriptExecutor) webdriver;
String jsVariable = (String.valueOf(jsExecutor.executeScript("return document.title")));

Bagaimana cara melakukan zoom in dan zoom out pengoperasian browser di selenium?

Operasi zoom in dan zoom out di Selenium dapat kita lakukan dengan menggunakan dua pendekatan yang berbeda, seperti: 

Perbesar menggunakan kelas Robot di selenium

Robot robotInstance = new Robot();
//Zoom in

robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Perkecil menggunakan kelas Robot di selenium


Robot robotInstance = new Robot();
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Zoom in menggunakan kelas Keys di selenium

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.ADD));

Perkecil menggunakan kelas Robot di selenium

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));

Bagaimana cara membersihkan bidang di selenium tanpa menggunakan metode clear ()?

Kita bisa membersihkan field apapun tanpa menggunakan metode clear () dalam pendekatan di bawah ini: 

Kita dapat menggunakan kelas Keys di Selenium untuk mencapai hal yang sama: 

WebElement element = driver.findElement(By.id("id_of_Element"));
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
element.sendKeys(Keys.DELETE);

Bagaimana cara menjalankan kembali kasus uji yang gagal di selenium?

Kami dapat menjalankan kembali kasus uji yang gagal di Selenium dengan dua pendekatan di bawah ini:

Dengan TestNG-gagal.xml yang dibuat secara otomatis:

Setelah eksekusi uji (dijalankan dari testng.xml), TestNG secara otomatis menghasilkan TestNG-gagal.xml; Anda dapat menjalankan ulang XML yang sama untuk HANYA menjalankan pengujian yang gagal.

Dengan menerapkan Antarmuka IRetryAnalyzer dari testNg :

Dengan mengimplementasikan antarmuka IRetryAnalyzer, kami dapat secara otomatis menjalankan kembali kasus uji yang gagal dengan TestNg:


If you implement the IRetryAnalyzer you can auto rerun  failed test with TestNg :

public class Retry implements IRetryAnalyzer {
   int counter = 1;
   int retryMaxLimit = 3;
   public boolean retry(ITestResult result) {
       if (counter < retryMaxLimit) {
           counter++;
           return true;
       }
       return false;
   }
}

Bagaimana cara menyoroti Elemen di Selenium WebDriver?

Kita dapat menggunakan JavascriptExecutor untuk mengatur warna elemen Web dengan menyebutkan elemennya.


WebElement element = driver.findElement(By.xpath("id_of_the_element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: red; border: 2px solid red;');", element);

Bagaimana cara double click di selenium?

Kita bisa menggunakan Kelas tindakan di Selenium untuk melakukan operasi DoubleClick dengan cara di bawah ini. Metode di bawah ini mengambil argumen di mana Anda harus melakukan DoubleClick.

public void doubleClick(By locator) {
		try {
			WebElement element = driver.findElement(locator);
			Actions actions = new Actions(driver).doubleClick(element);
			BASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
		} catch (StaleElementReferenceException e) {
			BASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
		} catch (NoSuchElementException e) {
			BASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
		} catch (Exception e) {
			BASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
		}
	}

Bagaimana cara menggulir selenium?

Kita perlu menggunakan Javascript untuk melakukan pengguliran, dan metode di bawah ini menyediakan pendekatan lanjutan untuk menggulir ke dalam elemen hingga elemen terlihat, yang digulir ke tampilan: 

public void scrollIntoView(By locator) {

  try {
     JavascriptExecutor executor = (JavascriptExecutor) driver;
     WebElement element = driver.findElement(locator);
     executor.executeScript("arguments[0].scrollIntoView(true);", element);
     BASE_LOGGER
           .info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing scrollIntoView on the element : " + locator);

  }

}

Bagaimana cara mendapatkan semua link pada halaman di selenium?

Kita bisa menggunakan By.tagName ("a") untuk mengambil semua link yang tersedia di halaman karena link mengacu pada tag yang disebut sebagai; caranya dengan cara di bawah ini: 

public List<WebElement> getAllLinks() {

  try {
     List<WebElement> allLinks = driver.findElements(By.tagName("a"));
     int numberOfLinks = allLinks.size();
     BASE_LOGGER.info("Number of Links in the Current Page is : " + numberOfLinks);
     BASE_LOGGER.info("GetAllLinks operation has been performed for the Current Page : ");
     return allLinks;
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing GetAllLinks for the Current Page :");
     return null;
  }

}

Bagaimana menemukan jumlah iframe pada halaman di Selenium?

Kami dapat menggunakan metode di bawah ini untuk menemukan jumlah iframe di halaman di Selenium:

public int numberOfIframesInPage() {
  try {
     JavascriptExecutor exe = (JavascriptExecutor) driver;
     Integer numberOfIFrames = Integer.parseInt(exe.executeScript("return window.length").toString());
     BASE_LOGGER.info("Number of IFrames in the current Window are : " + numberOfIFrames);
     return numberOfIFrames;

  } catch (Exception e) {
     BASE_LOGGER
           .error("Exception occurred in Finding numberOfIframesInPage with : " + e.getCause().getMessage());
     return 0;
  }

}

Bagaimana cara beralih ke frame default di selenium webdriver?

Kita bisa menggunakan metode switchTo (). DefaultContent () untuk beralih ke frame default di Selenium Webdriver: 

public void switchToDefaultFrame() {
  try {
     driver.switchTo().defaultContent();
     BASE_LOGGER.info("Switched to Default Content ");
  } catch (Exception e) {
     BASE_LOGGER.error("Exception Occurred while switching to default Content ");
  }
}

Bagaimana cara menangani tab di selenium?

Kita bisa menggunakan List untuk menyimpan semua tab yang tersedia dan menggunakan driver.getWindowHandles () untuk menyimpan tab, dan setelah ini, kita bisa menangani tab satu per satu dengan pendekatan di bawah ini, seperti: 

public void switchToTab(int indexOfTab) {

  try {

     ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
     driver.switchTo().window(tabs.get(indexOfTab));
     BASE_LOGGER.info("Successfully switched to tab with tab index as : " + indexOfTab);
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error(
           "Unable to Switch to Tab for :" + indexOfTab + " i.e failed with exception as : " + exceptionData);

  }



}

Pertanyaan wawancara selenium menengah

Apakah WebDriver sebuah kelas atau antarmuka?

Webdriver adalah antarmuka tempat semua kelas driver seperti ChromeDriver, FirefoxDriver membuat objek dan memiliki referensi ke referensi antarmuka Webdriver.

Mana yang lebih cepat, XPath, atau CSS?

CSS lebih cepat dari XPath. 

Mengapa CSS lebih cepat dari XPath?

Setiap mesin browser berbeda, dan karenanya strategi parsing dan implementasi mesin berbeda melalui XPath tertulis. Itulah mengapa parsing XPath menjadi tidak konsisten; misalnya, IE tidak memiliki implementasi mesin sendiri untuk mengurai XPATH; karenanya Selenium menginjeksi mesin XPath aslinya sendiri untuk mengurai XPATH di IE. 

Apa itu browser dengan hak istimewa yang ditingkatkan?

Ketika browser dibuka dengan beberapa pengaturan yang telah ditentukan sebelumnya (misalnya dengan mode hak istimewa khusus) seperti dengan Profil atau Sertifikat tertentu, maka itu disebut sesi browser dengan hak istimewa yang ditingkatkan. 

Kita bisa luncurkan browser dengan Selenium dengan Profiling atau set sertifikat untuk tujuan yang sama.

Apa itu peramban tanpa kepala Selenium dan bagaimana kami melakukan pengujian peramban tanpa kepala?

  Peramban tanpa kepala adalah program simulasi untuk peramban yang tidak memiliki UI, tetapi kami masih dapat menjalankan Aplikasi yang diuji dalam mode tak terlihat 

 dan melakukan operasi web yang diinginkan di latar belakang.

 Kami menggunakan driver browser HeadLess seperti driver HTMLUNIT atau Driver phantomJS untuk melakukan pengujian browser tanpa kepala.

Selenium vs. dalang? 

Ada beberapa perbedaan antara Selenium dan dalang (yang merupakan alat baru dibandingkan dengan Selenium dan dikembangkan oleh Google Chrome DEV)

Kami akan membahas di sini perbandingan antara Selenium VS Dalang dalam berbagai aspek: 

HardAssert vs SoftAssert?

Kedua pendekatan pernyataan berasal dari TestNg, dan masing-masing memiliki pro dan kontra masing-masing

 Ketika Anda berada dalam keadaan di mana Anda perlu memiliki pernyataan yang jelas, yaitu tanpa langkah tersebut, langkah-langkah skrip yang tersisa tidak masuk akal untuk dijalankan, maka Anda dapat meletakkan Hard Assert di sana.

 Bagaimana cara mengatur ukuran jendela di selenium?

Kita bisa membuat objek kelas Dimension dan meneruskan objek itu ke metode setSize (): 

Dimension dimension = new Dimension(480,700);
driver.manage().window().setSize(dimension);

Apa sistem kontrol versi yang Anda gunakan saat bekerja dengan Selenium?

Anda dapat menyebutkan VCS apa pun yang Anda gunakan, seperti Github, SVN, dll.

Bagaimana cara mengkloning repo git?

Kita bisa mengkloning repo git dengan menggunakan:

Git clone repo

Bagaimana cara menarik kode repo Git?

Git pull remoteRepoURL branchName

Bagaimana cara mendorong kode ke git repo?

Git push remoteURL branchName

Bagaimana cara mengatur Remote? 

git remote add ProvideARemoteName remoetURL

Bagaimana cara memverifikasi remote yang tersedia?

Git remote -v 

Bagaimana cara memeriksa URL jarak jauh mana Anda saat ini? 

git config --get remote.origin.url

Bagaimana Anda bisa mengintegrasikan framework Anda dengan Jenkins?

Sebagai bagian dari kerangka Otomasi Selenium, kami menggunakan alat pembangunan (seperti Maven / Gradle), dan kami dapat membuat Pekerjaan Jenkins dan menghubungkan Maven / Gradle dengan menyediakan konfigurasi dengan VCS (yaitu, Github, dll.)

Apa kerugian dari Sikuli?

Bagaimana cara melakukan pengujian database menggunakan selenium?

Kami dapat melakukan pengujian database menggunakan selenium dengan pendekatan modular di bawah ini: 

Berikut adalah potongan kode di bawah ini untuk langkah-langkah di atas: 

Pengaturan koneksi Database Selenium dengan JAVA JDBC dan membuat pernyataan DB: 

   static Connection connection = null;
   private static Statement statement;
   public static String DataBase_URL = "DB_URL";
   public static String DataBase_USER = "DB_UserName";
   public static String DataBase_PASSWORD = "DB_password";



   /* This method Creates the connection with Java JDBC and return it to the Test method to use along with statement 
   */
@BeforeTest
   public void setUp() throws Exception {
       try{

           String dbClass = "com.mysql.cj.jdbc.Driver";
           Class.forName(dbClass).newInstance();
           Connection con = DriverManager.getConnection(DataBase_URL, DataBase_USER, DataBase_PASSWORD);
           statement = con.createStatement();
       }
       catch (Exception e)
       {
           e.getCause().getMessage().toString();

       }


   }

Gunakan pernyataan tersebut untuk menanyakan DB dengan SQL: 

@Test
public void test() {
   try{
       String queryData = "select * from TableName";

       ResultSet res = statement.executeQuery(queryData);
       while (res.next())
       {
           System.out.print(res.getString(1));
           System.out.print(" " + res.getString(2));
       }
   }
   catch(Exception e)
   {
       e.getMessage();
   }
}

Menutup Koneksi Data: 

Langkah ini sangat penting; jika tidak, kami mungkin akan membuat beberapa koneksi database tanpa menutupnya setelah penggunaan, yang dapat menyebabkan beberapa masalah. 

Berikut adalah potongan kode yang sama: 

@AfterTest
public void tearDown() throws Exception {

   if (connection != null) {
       connection.close();
   }
}

Bagaimana cara memverifikasi warna latar belakang dan warna WebElement menggunakan Selenium? 

Kita perlu menggunakan metode yang disebut getCssValue ("color") untuk mengambil warna dari elemen web dan getCssValue (“background-color”) untuk menarik warna latar belakang elemen web.

Berikut ini cuplikan kodenya: 

String colour  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("color");

String backgroundColour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("background-color");

Bagaimana cara memverifikasi ukuran font WebElement menggunakan Selenium webdriver? 

Kita bisa menggunakan metode yang disebut getCssValue ("font-size")

String fontSize  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-size");

Bagaimana cara memverifikasi jenis font elemen web di Selenium Webdriver? 

String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-type");

Bagaimana cara mendapatkan teks tooltip di selenium?

Mendapatkan teks tooltip dari WebElement hanyalah mendapatkan atribut judul dari Webelement dengan cara di bawah ini: 

public String getToolTipData(By locator){

   WebElement element=driver.findElement(locator);
   return element.getAttribute("title");
}

Apa itu StaleElementException? 

Stale Element berarti bahwa ketika elemen Web tidak lagi dilampirkan dengan DOM / WebPage yang ada sebelumnya. Dalam hal ini, Selenium melempar pengecualian elemen basi.

Ini dapat terjadi karena beberapa alasan seperti karena panggilan AJAX atau JavaScript yang mengubah status

elemen membuatnya tidak tersedia / terlepas dari DOM.  

Kesimpulan : Dengan ini kita selesai dengan Kumpulan pertanyaan wawancara Selenium Kritis yang mencakup pertanyaan wawancara Kerangka Selenium, Baca sampai di sini untuk mendapatkan lebih dalam konsep Selenium untuk memahami arsitektur Selenium.

Tinggalkan Komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai *

Gulir ke Atas