Keupayaan yang diinginkan
Keupayaan yang diinginkan adalah kelas di Selenium yang digunakan untuk menetapkan sifat penyemak imbas untuk melakukan ujian silang penyemak imbas aplikasi web. Ini menyimpan keupayaan sebagai pasangan nilai-kunci dan kemampuan ini digunakan untuk menetapkan sifat penyemak imbas seperti nama penyemak imbas, versi penyemak imbas, jalan pemacu penyemak imbas dalam sistem, dll. Untuk menentukan tingkah laku penyemak imbas pada waktu berjalan.
- Keupayaan yang diinginkan juga dapat digunakan untuk mengkonfigurasi contoh pemacu Selenium WebDriver.
- Kita boleh mengkonfigurasi contoh pemacu seperti FirefoxDriver, ChromeDriver, InternetExplorerDriver dengan menggunakan keupayaan yang diinginkan.
Dalam tutorial ini, anda akan belajar-
- Apakah Keupayaan yang Diinginkan?
- Mengapa kita memerlukan Keupayaan yang Diinginkan?
- Pelbagai jenis Kaedah Keupayaan yang Diinginkan
- Contoh kaedah kaedah keupayaan
Mengapa kita memerlukan Keupayaan yang Diinginkan?
Keupayaan yang diinginkan diperlukan kerana setiap senario Pengujian harus dijalankan pada beberapa lingkungan pengujian tertentu. Persekitaran pengujian boleh berupa penyemak imbas web, Peranti mudah alih, emulator mudah alih, simulator mudah alih, dll. Kelas Keupayaan yang Diinginkan membantu kami memberitahu pemacu web, persekitaran mana yang akan kami gunakan dalam skrip ujian kami.
The Cara setCapability Kelas DesiredCapabilities, yang dijelaskan dalam bahagian akhir tutorial, boleh digunakan dalam Selenium Grid. Ia digunakan untuk melakukan pelaksanaan selari pada konfigurasi mesin yang berbeza
Cth: Grid
Ini digunakan untuk mengatur sifat penyemak imbas (Cth. Chrome, IE), Nama Platform (Cth. Linux, Windows) yang digunakan ketika menjalankan kes uji.
Dalam kes automasi mudah alih, ketika kami melakukan ujian pada berbagai jenis peranti mudah alih, Versi Platform Mobile (mis. IOS, Android) (Contoh 3.x, 4.x di Android) dapat diatur.
Contoh emulator di atas menunjukkan set platform yang merupakan android dan set versi platform yang merupakan IceCream Sandwich (4.x).
Keupayaan yang diinginkan lebih berguna dalam kes seperti:
- Dalam automasi aplikasi mudah alih, di mana sifat penyemak imbas dan sifat peranti dapat ditetapkan.
- Di grid Selenium ketika kita ingin menjalankan kes ujian pada penyemak imbas yang berbeza dengan sistem dan versi operasi yang berbeza.
Pelbagai jenis Kaedah Keupayaan yang Diinginkan
Di sini kita akan melihat pelbagai jenis kaedah keupayaan yang diinginkan dan melihat bagaimana menggunakan salah satu kaedah ini " setCapability Method".
- getBrowserName ()
public java.lang.String getBrowserName ()
- setBrowserName ()
public void setBrowserName (java.lang.String browserName)
- getVersion ()
public java.lang.String getVersion ()
- setVersion ()
public void setVersion (versi java.lang.String)
- getPlatform ()
Platform awam getPlatform ()
- setPlatform ()
set Platform awamPlatform ()
- Kaedah getCapability
Kaedah getCapability dari kelas DesiredCapabilities boleh digunakan untuk mendapatkan kemampuan yang sedang digunakan dalam sistem.
public java.lang.Object getCapability (java.lang.String kemampuanName)
- kaedah setCapability ()
Kaedah setCapability () dari kelas Keupayaan yang Diinginkan digunakan untuk menetapkan sifat persekitaran ujian seperti nama peranti, nama dan versi OS, nama dan versi penyemak imbas, jalan mutlak aplikasi yang sedang diuji (fail .apk aplikasi Android dalam ujian), Aktiviti aplikasi (dalam Android) dan appPackage (dalam Java).
"setCapability method" di Java mempunyai pernyataan di bawah:
setCapability: public void setCapability (java.lang.String keupayaanName, nilai boolean)
setCapability: public void setCapability (java.lang.String keupayaanName, java.lang.String value)
setCapability: public void setCapability (java.lang.String keupayaanNama, Nilai platform)
setCapability: public void setCapability (java.lang.String key, java.lang.Object value)
Contoh kaedah kaedah keupayaan
Mari kita pertimbangkan satu contoh di mana kita ingin menjalankan Uji kes kami di penyemak imbas Internet untuk membuka laman web www.gmail.com menggunakan Selenium Webdriver.
Berikut adalah kodnya.
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;kelas awam IEtestforDesiredCapabilities {utama kekosongan statik awam (String [] args) {Pemacu WebDriver = InternetExplorerDriver baru ();driver.manage (). window (). maksimalkan ();driver.get ("http://gmail.com");driver.quit ();}}
Sekarang jalankan kod ini dari Eclipse dan periksa konsol.
Pengeluaran:
Ini akan membuang kesalahan berikut apabila kod di atas dijalankan. Kesalahan berlaku kerana jalan ke pemacu penyemak imbas (IE dalam kes di atas) tidak ditetapkan. Penyemak imbas tidak dapat ditemukan oleh kod selenium
Laluan ke pemacu yang boleh dilaksanakan mesti ditetapkan oleh harta sistem webdriver.ie.driver; maklumat formore, lihat http://code.google.com/p/selenium/wiki/InternetExplorerDriver. Versi terkini boleh dimuat turun dari http://code.google.com/p/selenium/downloads/list
11 Dis 201212: 59: 43PM org.openqa.selenium.ie.InternetExplorerDriverServer memulakanLib
PERINGATAN: Kaedah memulakan pemacu IE tidak lagi digunakan dan akan dikeluarkan dalam selenium 2.26. Sila muat turun IEDriverServer.exe dari http://code.google.com/p/selenium/downloads/list dan pastikan ia ada di PATH anda.
Penyelesaian :
Penyelesaian untuk masalah di atas diberikan di bahagian amaran kesalahan itu sendiri.
- Muat turun pelayan mandiri Internet ExplorerDriver untuk 32bit atau 64bit.
- Simpan pemandu di lokasi yang sesuai dalam sistem.
- Tetapkan jalan untuk pemacu menggunakan kaedah System.setProperty .
- Ia digunakan untuk menetapkan pemacu IE dengan properti pemacu web. Ia membantu mencari fail yang boleh dilaksanakan pemacu yang disimpan di lokasi sistem. (Cth: "C: \ IEDriverLocation \ IEDriver.exe")
import org.openqa.selenium.WebDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.openqa.selenium.remote.DesiredCapabilities;kelas awam IEtestforDesiredCapabilities {utama kekosongan statik awam (String [] args) {// digunakan untuk menentukan kemampuan IEKeupayaan DesiredCapabilities = DesiredCapabilities.internetExplorer ();kemampuan.setCapability (CapabilityType.BROWSER_NAME, "IE");kemampuan.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, benar);System.setProperty ("webdriver.ie.driver", "C: \\ IEDriverServer.exe");// digunakan untuk memulakan pemacu IEPemacu WebDriver = InternetExplorerDriver (keupayaan) baru;driver.manage (). window (). maksimalkan ();driver.get ("http://gmail.com");driver.quit ();}}
Penjelasan Kod:
Dalam kod di atas,
- Pernyataan import adalah untuk mengimport pakej yang diperlukan untuk pemacu web selenium, pakej yang diperlukan untuk pemacu Internet Explorer, pakej untuk kemampuan yang diinginkan.
- setCapability mengambil pelbagai keupayaan sebagai pemboleh ubah input yang kemudian digunakan oleh pemacu web untuk melancarkan aplikasi di lingkungan yang diinginkan.
- setProperty digunakan untuk mengatur jalan di mana pemandu berada. Pemandu Web kemudian mencari pemacu yang diperlukan.
- Laman web Gmail dibuka dalam penyemak imbas Internet Explorer dengan menggunakan kaedah "get".
Pengeluaran:
Kes ujian pada penyemak imbas Internet akan berjaya dijalankan menggunakan Selenium Webdriver.
Kesimpulannya
Kelas Keupayaan yang Diinginkan akan membantu menetapkan persekitaran untuk menentukan tingkah laku penyemak imbas / persekitaran di mana ujian dapat dijalankan.
Ini membantu melancarkan aplikasi kami di persekitaran yang diinginkan yang mempunyai kemampuan yang ingin kami gunakan.
Artikel ini disumbangkan oleh Krithika Ramkumar