Kemampuan yang Diinginkan di Selenium WebDriver

Daftar Isi:

Anonim

Kemampuan yang Diinginkan

Kemampuan yang Diinginkan adalah kelas di Selenium yang digunakan untuk mengatur properti browser untuk melakukan pengujian aplikasi web lintas browser. Ini menyimpan kapabilitas sebagai key-value pair dan kapabilitas ini digunakan untuk mengatur properti browser seperti nama browser, versi browser, jalur driver browser di sistem, dll. Untuk menentukan perilaku browser pada waktu proses.

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

Dalam tutorial ini, Anda akan belajar-

  • Apa itu Kemampuan yang Diinginkan?
  • Mengapa kita membutuhkan Kemampuan yang Diinginkan?
  • Berbagai jenis Metode Kemampuan yang Diinginkan
  • Contoh untuk metode kemampuan set

Mengapa kita membutuhkan Kemampuan yang Diinginkan?

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

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

Contoh: Grid

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

Dalam kasus otomatisasi seluler, saat kami melakukan pengujian pada berbagai jenis perangkat seluler, Versi Platform Platform Seluler (mis. IOS, Android) (mis. 3.x, 4.x di Android) dapat disetel.

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

Kemampuan yang Diinginkan lebih berguna dalam kasus-kasus seperti:

  • Dalam otomatisasi aplikasi seluler, di mana properti browser dan properti perangkat dapat diatur.
  • Di grid Selenium ketika kita ingin menjalankan test case pada browser yang berbeda dengan sistem operasi dan versi yang berbeda.

Berbagai jenis Metode Kemampuan yang Diinginkan

Di sini kita akan melihat tipe berbeda dari metode kemampuan yang diinginkan dan melihat bagaimana menggunakan salah satu dari metode ini " Metode setCapability".

  1. getBrowserName ()
publik java.lang.String getBrowserName ()
  1. setBrowserName ()
public void setBrowserName (java.lang.String browserName)
  1. getVersion ()
publik java.lang.String getVersion ()
  1. setVersion ()
public void setVersion (versi java.lang.String)
  1. getPlatform ()
Platform publik getPlatform ()
  1. setPlatform ()
public Platform setPlatform ()
  1. Metode getCapability

Metode getCapability dari kelas DesiredCapabilities dapat digunakan untuk mendapatkan kapabilitas yang sedang digunakan saat ini dalam sistem.

publik java.lang.Object getCapability (java.lang.String kapabilitasName)
  1. setCapability () Metode

Metode setCapability () dari kelas Desired Capabilities 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 aplikasi Android sedang diuji), Aktivitas aplikasi (di Android) dan appPackage (di Java).

"metode setCapability" di Java memiliki deklarasi di bawah ini:

setCapability: public void setCapability (java.lang.String kapabilitasName, nilai boolean)
setCapability: public void setCapability (java.lang.String abilityName, java.lang.String value)
setCapability: public void setCapability (java.lang.String kapabilitasName, nilai Platform)
setCapability: public void setCapability (kunci java.lang.String, nilai java.lang.Object)

Contoh untuk metode kemampuan set

Mari kita pertimbangkan contoh di mana kami ingin menjalankan Test Case kami di browser Internet explorer untuk membuka situs web www.gmail.com menggunakan Selenium Webdriver.

Berikut adalah kodenya.

import org.openqa.selenium.WebDriver;impor org.openqa.selenium.ie.InternetExplorerDriver;public class IEtestforDesiredCapabilities {public static void main (String [] args) {Driver WebDriver = InternetExplorerDriver baru ();driver.manage (). window (). maksimalkan ();driver.get ("http://gmail.com");driver.quit ();}}

Sekarang jalankan kode ini dari Eclipse dan periksa konsolnya.

Keluaran:

Ini akan memunculkan kesalahan berikut ketika kode di atas dijalankan. Kesalahan terjadi karena jalur ke driver browser (IE dalam kasus di atas) tidak disetel. Browser tidak dapat ditemukan oleh kode selenium.

Jalur ke driver yang dapat dieksekusi harus disetel oleh properti sistem webdriver.ie.driver; informasi lebih lanjut, lihat http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Versi terbaru dapat diunduh dari http://code.google.com/p/selenium/downloads/list

11 Des 2012 12: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer initializeLib

PERINGATAN: Metode memulai driver IE tidak digunakan lagi dan akan dihapus di selenium 2.26. Harap unduh IEDriverServer.exe dari http://code.google.com/p/selenium/downloads/list dan pastikan bahwa itu ada di PATH Anda.

Solusi :

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

  • Unduh server mandiri Internet ExplorerDriver untuk 32bit atau 64bit.
  • Simpan pengemudi di lokasi yang sesuai dalam sistem.
  • Tetapkan jalur untuk driver menggunakan metode System.setProperty .
  • Ini digunakan untuk menyetel driver IE dengan properti webdriver. Ini membantu untuk menemukan file yang dapat dieksekusi driver yang disimpan di lokasi sistem. (Mis: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;impor org.openqa.selenium.ie.InternetExplorerDriver;impor org.openqa.selenium.remote.DesiredCapabilities;public class IEtestforDesiredCapabilities {public static void main (String [] args) {// digunakan untuk menentukan kemampuan IEKemampuan DesiredCapabilities = DesiredCapabilities.internetExplorer ();ability.setCapability (CapabilityType.BROWSER_NAME, "IE");kapabilitas.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, benar);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// digunakan untuk menginisialisasi driver IEDriver WebDriver = InternetExplorerDriver baru (kemampuan);driver.manage (). window (). maksimalkan ();driver.get ("http://gmail.com");driver.quit ();}}

Penjelasan Kode:

Pada kode di atas,

  • Pernyataan impor adalah untuk mengimpor paket yang diperlukan untuk driver web selenium, paket yang diperlukan untuk driver Internet Explorer, paket untuk kemampuan yang diinginkan.
  • setCapability mengambil berbagai kapabilitas sebagai variabel input yang kemudian digunakan oleh driver web untuk meluncurkan aplikasi di lingkungan yang diinginkan.
  • setProperty digunakan untuk mengatur jalur di mana driver berada. Driver Web kemudian mencari driver yang diperlukan.
  • Situs web Gmail dibuka di browser Internet Explorer dengan menggunakan metode "get".

Keluaran:

Kasus uji pada browser Internet explorer akan berjalan dengan sukses menggunakan Selenium Webdriver.

Kesimpulan

Kelas Kemampuan yang Diinginkan akan membantu menyetel 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.

Artikel ini dikontribusikan oleh Krithika Ramkumar