Selenium adalah alat pengujian perangkat lunak open source dan portabel untuk menguji aplikasi web yang memiliki kemampuan untuk berjalan di berbagai browser dan sistem operasi. Selenium benar -benar bukan alat tunggal, tetapi satu set alat yang membantu penguji mengotomatiskan aplikasi mereka secara lebih efektif.
Terkadang kita akan menemukan kotak drop-down dari tag <colling> </follect>. Tidak selalu layak untuk hanya mengklik opsi di kotak drop-down. Selenium menyediakan kelas terpilih secara khusus untuk menangani kotak drop-down.
<Pilih id = "status" onchange = "" name = "status"> <option value = ""> </ption> <option value = "0"> tidak ditinjau </option> <option value = "1"> Ulasan Pendahuluan Lulus </tiption> <Option value = "2"> Ulasan Lulus </option> <Option value = "3"> Ulasan Gagal <//Pilih </Pilih>
Operasi di Python-selenium
Ambil Python sebagai contoh untuk melihat implementasi file selenium select.py:
.../selenium/webdriver/dukungan/select.py
Kelas Pilih:
def __init __ (self, wewebrem): "" konstruktor. Cek dibuat bahwa elemen yang diberikan memang merupakan tag terpilih. Jika tidak, maka sebuah yang tidak terduga yang tidak terduga dilemparkan. ! = "SELECT": Naikkan tidak terduga yang tidak terduga.
Untuk melihat implementasi kelas Pilih, Anda perlu menemukan elemen. Dan contoh kalimat diberikan dalam contoh.
SELECT (driver.find_element_by_tag_name ("Select")). Select_by_index (2) def select_by_index (self, index): "" Pilih opsi pada indeks yang diberikan. Ini dilakukan dengan memeriksa atribut "indeks" dari suatu elemen, dan bukan hanya dengan menghitung.:args:- index - opsi pada indeks ini akan dipilih "" "" cocok = str (index) dicocokkan = falsefor opt in self.Options: if ort.get_attribute ("index") == Match: self._setselected (noTtM noCtM) oFOCTMED = mUNGKEPLIPE ("INDEX") == CATCH: SELF._setselected (noNTM NOTSEF) jika tidak ada (opts. NosuchelementException ("tidak dapat menemukan elemen dengan indeks % d" % indeks)Lanjutkan untuk melihat penggunaan metode select_by_index () dan memenuhi persyaratan kotak drop-down yang diberikan di atas, karena mengharuskan opsi kotak drop-down harus memiliki atribut indeks, seperti index = "1".
def select_by_value(self, value):"""Select all options that have a value matching the argument. That is, when given "foo" this would select an option like:<option value="foo">Bar</option>:Args:- value - The value to match against"""css = "option[value =%s]" % self._escapeString(value)opts = self._el.find_elements (by.css_selector, css) dicocokkan = falsefor opt in opts: self._setselected (opt) jika bukan self.is_multiple: returnmatched = trueIf tidak cocok: Naikkan nosuchelementException ("tidak dapat menempatkan opsi dengan nilai s" % s " % nilai) nilai) Lanjutkan untuk melihat bahwa metode select_by_value () memenuhi persyaratan kami, yang digunakan untuk memilih nilai nilai tag <pect>. Akhirnya, Anda dapat menggunakan opsi berikut untuk memilih kotak drop-down.
dari selenium.webdriver.support.select impor pilih
...
sel = driver.find_element_by_xpath ("// pilih [@id = 'status']")
SELECT (SEL) .SELECT_BY_VALUE ('0') #not ditinjau
SELECT (SEL) .SELECT_BY_VALUE ('1') #Review Preliminary
SELECT (SEL) .SELECT_BY_VALUE ('2') #Review lulus
SELECT (SEL) .SELECT_BY_VALUE ('3') #Review Gagal
Operasi di Java-selenium
Tentu saja, penggunaan di Java juga serupa, satu -satunya perbedaan adalah pada level sintaksis.
paket com.jase.base;
impor org.openqa.selenium.webdriver;
impor org.openqa.selenium.by.byid;
impor org.openqa.selenium.chrome.chromedriver;
impor org.openqa.selenium.support.ui.select;
Kelas Publik SelectTest {
public static void main (string [] args) {
Driver webdriver = chromedriver baru ();
driver.get ("http://www.you_url.com");
//…
Pilih sel = select baru (driver.findElement (byid.xpath ("// pilih [@id = 'status']")));
Sel.SelectByValue ("0"); // tidak ditinjau
Sel.SelectByValue ("1"); // Tinjauan Pendahuluan Lulus
sel.SelectByValue ("2"); // Ulasan Lulus
sel.SelectByValue ("3"); // ulasannya tidak lewat
}
}