Kemampuan yang Diinginkan dalam Selenium webdriver

โšก Ringkasan Cerdas

Kemampuan yang Diinginkan adalah Selenium Kelas yang menyimpan pengaturan browser, platform, dan perangkat sebagai pasangan kunci-nilai, memungkinkan satu rangkaian pengujian menargetkan banyak lingkungan di berbagai platform. Selenium Jaringan listrik, jaringan cloud, dan otomatisasi mobile.

  • ๐Ÿ”˜ Definisi: Pasangan kunci-nilai yang menyebutkan peramban, versi, platform, dan jalur driver.
  • โ˜‘๏ธ Tujuan: Satu paket perangkat lunak yang dapat dijalankan di berbagai browser, sistem operasi, dan perangkat seluler.
  • โœ… metode: setCapability(), getCapability(), setBrowserName(), setVersion() dan setPlatform() menjelaskan lingkungan tersebut.
  • ๐Ÿงช Contoh: Panduan Internet Explorer ini mereproduksi kesalahan driver-path dan cara memperbaikinya.
  • ๏ธ Padanan modernnya: Selenium 4 membawa pengaturan yang sama di kelas Opsi browser.

Kemampuan yang Diinginkan dalam Selenium webdriver

Apa Kemampuan yang Diinginkan?

Kemampuan yang Diinginkan adalah sebuah kelas dalam Selenium digunakan untuk mengatur properti browser untuk melakukan pengujian lintas browser pada aplikasi web. Ini menyimpan kemampuan sebagai pasangan nilai kunci dan kemampuan ini digunakan untuk mengatur properti browser seperti nama browser, versi browser, jalur driver browser dalam sistem, dll. untuk menentukan perilaku browser pada waktu berjalan.

  • Kemampuan yang diinginkan juga dapat digunakan untuk mengkonfigurasi instance driver Selenium Pengemudi Web.
  • Kita dapat mengkonfigurasi contoh driver seperti FirefoxDriver, ChromeDriver, InternetExplorerDriver dengan menggunakan kemampuan yang diinginkan.

Catatan versi: Selenium 4 Menggantikan DesiredCapabilities dengan kelas Options browser โ€” ChromeOptions, FirefoxOptions, EdgeOptions, InternetExplorerOptions. Contoh-contoh di bawah ini mempertahankan sintaks aslinya.

Mengapa kita membutuhkan Kemampuan yang Diinginkan?

Kemampuan yang diinginkan dibutuhkan karena setiap pengujian skenario harus dijalankan pada beberapa lingkungan pengujian tertentu. Lingkungan pengujian dapat berupa browser web, Nomor WhatsApp perangkat, emulator seluler, simulator seluler, dll. Kelas Desired Capabilities membantu kita memberi tahu WebDriver, lingkungan mana yang akan kita gunakan dalam skrip pengujian kita.

Metode setCapability dari kelas DesiredCapabilities, yang dijelaskan di bagian selanjutnya dari halaman ini, dapat digunakan dalam Selenium Kisi-kisi. Digunakan untuk melakukan eksekusi paralel pada konfigurasi mesin yang berbeda.

Contoh: Kisi-kisi (ditunjukkan di bawah).

Selenium Pengaturan grid didorong oleh Kemampuan yang Diinginkan

Ini digunakan untuk mengatur properti browser (Mis. Chrome, IE), Nama Platform (Mis. Linux, Windows) yang digunakan saat menjalankan Uji Kasus.

Dalam hal otomatisasi seluler, saat kami melakukan pengujian pada berbagai jenis perangkat seluler, Platform Seluler (mis. iOS, Android) Versi Platform (Mis. 3.x,4.x in Android) dapat diatur.

Contoh emulator di bawah ini menunjukkan platform yang digunakan yaitu Android dan versi platform yang digunakan yaitu Ice Cream Sandwich (4.x).

Kemampuan emulator seluler diatur ke Android platform dan versi 4.x

Kemampuan yang Diinginkan lebih berguna dalam kasus seperti:

  • Dalam otomatisasi aplikasi seluler, properti browser dan properti perangkat dapat diatur.
  • In Selenium Grid digunakan ketika kita ingin menjalankan kasus uji pada browser yang berbeda dengan sistem operasi dan versi yang berbeda.

Jenis Metode Kemampuan yang Diinginkan

Di sini kita akan melihat berbagai metode Desired Capabilities dan cara menggunakan salah satunya, yaitu metode setCapability().

#1) dapatkan Nama Peramban()

public java.lang.String getBrowserName()

#2) setelNama Peramban()

public void setBrowserName(java.lang.String browserName)

#3) dapatkanVersi()

public java.lang.String getVersion()

#4) setVersi()

public void setVersion(java.lang.String version)

#5) dapatkanPlatform()

public Platform getPlatform()

#6) setPlatform()

public Platform setPlatform()

#7) Metode getCapability()

Metode getCapability() dari kelas DesiredCapabilities dapat digunakan untuk mendapatkan kapabilitas yang sedang digunakan di sistem.

public java.lang.Object getCapability(java.lang.String capabilityName)

#8) Metode setCapability()

Metode setCapability() dari kelas Desired Capabilities digunakan untuk mengatur properti lingkungan pengujian seperti nama perangkat, nama dan versi OS, nama dan versi browser, jalur absolut aplikasi yang sedang diuji (file .apk dari aplikasi tersebut). Android aplikasi sedang diuji), Aktivitas aplikasi (in Android) dan appPackage (di dalam Java).

โ€œmetode setCapabilityโ€ di Java memiliki deklarasi di bawah ini:

setCapability : public void setCapability(java.lang.String capabilityName,boolean value)
setCapability  :public void setCapability(java.lang.String capabilityName,java.lang.String value)
setCapability  :public void setCapability(java.lang.String capabilityName,Platform value)
setCapability  :public void setCapability(java.lang.String key,java.lang.Object value)

Tetapkan Kemampuan di Selenium Example

Mari kita pertimbangkan contoh di mana kita ingin menjalankan Kasus Uji kita pada browser Internet Explorer untuk membuka situs web www.gmail.com menggunakan Selenium Pengemudi Web.

Berikut ini adalah kodenya.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {
  
WebDriver driver = new InternetExplorerDriver();
 driver.manage().window().maximize();
 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Sekarang jalankan kode ini dari Eclipse dan periksa konsolnya.

Keluaran:

Kode di atas akan menampilkan kesalahan berikut saat dijalankan. Kesalahan terjadi karena jalur ke driver browser (IE dalam kasus di atas) belum diatur. Browser tidak dapat ditemukan oleh Selenium kode.

The path to the driver executable must be set by the webdriver.ie.driver system property; formore information, see http://code.google.com/p/selenium/wiki/InternetExplorerDriver. The latest version can be downloaded from http://code.google.com/p/selenium/downloads/list

Dec 11, 201212:59:43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

WARNING: This method of starting the IE driver is deprecated and will be removed in selenium 2.26. Please download the IEDriverServer.exe from http://code.google.com/p/selenium/downloads/list and ensure that it is in your PATH.

Larutan:

Solusi untuk masalah di atas diberikan di bagian peringatan kesalahan itu sendiri.

  1. Unduh server mandiri Internet ExplorerDriver untuk 32bit atau 64bit.
  2. Simpan driver di lokasi yang sesuai di sistem.
  3. Tetapkan jalur untuk driver menggunakan metode System.setProperty. Metode ini digunakan untuk mengatur driver IE dengan properti webdriver. Ini membantu menemukan file executable driver yang tersimpan di lokasi sistem. (Contoh: โ€œC:\IEDriverLocation\IEDriver.exeโ€)

Catatan versi: Selenium Versi 4.6 dan yang lebih baru secara otomatis menyelesaikan masalah driver melalui Selenium Manajer, jadi System.setProperty bersifat opsional. Kode historis di bawah ini tidak berubah.

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.remote.DesiredCapabilities;

public class IEtestforDesiredCapabilities {
  
 public static void main(String[] args) {

//it is used to define IE capability 
 DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
  
capabilities.setCapability(CapabilityType.BROWSER_NAME, "IE");
capabilities.setCapability(InternetExplorerDriver.
  INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);


System.setProperty("webdriver.ie.driver", "C:\\IEDriverServer.exe");
  
 //it is used to initialize the IE driver
 WebDriver driver = new InternetExplorerDriver(capabilities);
  
 driver.manage().window().maximize();

 driver.get("http://gmail.com");
  
 driver.quit();
 }
  
}

Code Penjelasan:

Pada kode di atas,

  • Pernyataan impor mengimpor paket-paket yang dibutuhkan untuk Selenium WebDriver, paket-paket yang dibutuhkan untuk driver Internet Explorer, dan paket-paket untuk kemampuan yang diinginkan.
  • setCapability mengambil berbagai kemampuan sebagai variabel masukan yang kemudian digunakan oleh driver web untuk meluncurkan aplikasi di lingkungan yang diinginkan.
  • setProperty digunakan untuk mengatur jalur tempat driver berada. WebDriver kemudian akan menemukan driver yang dibutuhkan.
  • Gmail Situs web dibuka di browser Internet Explorer dengan menggunakan metode โ€œgetโ€.

Keluaran:

Kasus uji pada browser Internet Explorer akan berjalan dengan sukses menggunakan Selenium Pengemudi Web.

Pertanyaan Umum Demo Slot

Fitur ini tetap ada untuk kompatibilitas mundur, tetapi pada dasarnya sudah menjadi fitur usang. Selenium 4. Mengarahkan sesi melalui objek Options browser yang sesuai dengan standar W3C, sehingga rangkaian perangkat lunak baru sebaiknya lebih memilih Options.

Opsi Chrome, FirefoxOptions, EdgeOptions, SafariOptions, dan InternetExplorerOptions. Setiap objek diteruskan langsung ke konstruktor driver yang sesuai atau ke RemoteWebDriver.

Hanya browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, timeouts, dan unhandledPromptBehavior yang merupakan parameter standar. Parameter lainnya memerlukan awalan vendor seperti goog:chromeOptions.

Appium mengharapkan platformName, automationName, deviceName dan salah satu dari app atau appPackage ditambah appActivity, semuanya ditulis dengan awalan appium:.

Tidak. Dari Selenium 4.6, Selenium manajer Mengunduh driver yang sesuai secara otomatis. Atur ini hanya saat menetapkan versi driver tertentu.

Penyedia layanan cloud membaca pasangan kunci-nilai yang sama untuk mengalokasikan browser, sistem operasi, dan perangkat, ditambah tambahan yang diawali dengan nama vendor seperti nama build.

Model AI menggali analitik produksi dan riwayat cacat untuk menentukan kombinasi browser, versi, dan perangkat mana yang layak mendapatkan cakupan, sehingga memangkas matriks yang tidak terkendali.

Copilot Meskipun menghasilkan draf blok kemampuan dengan cepat, program ini sering menyarankan sintaks DesiredCapabilities yang sudah usang yang dipelajari dari kode lama, jadi tinjau setiap baris yang dihasilkan.

Ringkaslah postingan ini dengan: