Kemampuan yang Diinginkan dalam Selenium webdriver

Apa Kemampuan yang Diinginkan?

Kemampuan yang Diinginkan adalah kelas di 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.

Mengapa kita membutuhkan Kemampuan yang Diinginkan?

Kemampuan yang Diinginkan diperlukan karena setiap pengujian skenario harus dijalankan pada beberapa lingkungan pengujian tertentu. Lingkungan pengujian dapat berupa browser web, mobil perangkat, emulator seluler, simulator seluler, dll. Kelas Kemampuan yang Diinginkan membantu kami memberi tahu driver web, lingkungan mana yang akan kami gunakan dalam skrip pengujian kami.

metode setCapability dari Kelas DesiredCapabilities, yang dijelaskan di bagian akhir tutorial, dapat digunakan di Selenium jaringan. Ini digunakan untuk melakukan eksekusi paralel pada konfigurasi mesin yang berbeda.

Contoh: Kotak

Kemampuan yang Diinginkan dalam Selenium webdriver

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

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.

Kemampuan yang Diinginkan dalam Selenium webdriver

Contoh emulator di atas menunjukkan kumpulan platform yaitu android dan kumpulan versi platform yaitu IceCream Sandwich (4.x).

Kemampuan yang Diinginkan lebih berguna dalam kasus seperti:

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

Jenis Metode Kemampuan yang Diinginkan

Di sini kita akan melihat berbagai jenis metode kemampuan yang diinginkan dan melihat cara menggunakan salah satu metode ini “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 Kemampuan yang Diinginkan digunakan untuk menyetel properti lingkungan pengujian seperti nama perangkat, nama dan versi OS, nama dan versi browser, jalur absolut aplikasi yang sedang diuji (file .apk dari Android aplikasi sedang diuji), Aktivitas aplikasi (in Android) dan appPackage(dalam Java).

“metode setCapability” in 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 perhatikan contoh di mana kita ingin menjalankan Uji Kasus pada browser Internet Explorer untuk membuka situs web www.gmail.com menggunakan Selenium driver 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 galat berikut saat dijalankan. Galat terjadi karena jalur ke driver browser (IE dalam kasus di atas) tidak ditetapkan. Browser tidak dapat ditemukan oleh kode selenium.

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.

Solusi:

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

  • Unduh server mandiri Internet ExplorerDriver untuk 32bit atau 64bit.
  • Simpan driver di lokasi yang sesuai di sistem.
  • Tetapkan jalur untuk pengemudi menggunakan Sistem.setProperti Metode.
  • Ini digunakan untuk mengatur driver IE dengan properti webdriver. Ini membantu untuk menemukan file driver yang dapat dieksekusi yang disimpan di lokasi sistem. (Contoh:”C:\IEDriverLocation\IEDriver.exe”)
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();
 }
  
}

Penjelasan Kode:

Pada kode di atas,

  • Pernyataan import adalah mengimpor paket yang diperlukan untuk driver web Selenium, paket yang diperlukan untuk driver Internet Explorer, 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 dimana driver berada. Web Driver kemudian menemukan driver yang diperlukan.
  • Situs web Gmail dibuka di browser Internet Explorer dengan menggunakan metode “get”.

Keluaran:

Uji kasus pada browser Internet explorer akan berhasil dijalankan menggunakan Selenium driver web.

Kesimpulan

Kelas Kemampuan yang Diinginkan akan membantu mengatur lingkungan untuk menentukan perilaku browser/lingkungan tempat pengujian dapat dijalankan.

Ini membantu untuk meluncurkan aplikasi kita di lingkungan yang diinginkan yang memiliki kemampuan yang ingin kita gunakan.