Untuk memahami peluasan, mari kita fahami tiga tiang selenium IDE terlebih dahulu
- Tindakan: Operasi apa yang anda lakukan pada UI Screen
- Penilai / Tegasan: Pengesahan apa yang anda lakukan pada data yang anda perolehi dari UI
- Strategi Pencari: Bagaimana kita dapat mencari elemen dalam UI.
Sekarang, Selenium IDE mempunyai perpustakaan yang sangat matang dengan banyak Tindakan, Penegasan / Penilai dan Strategi Pencari.
Tetapi kadang-kadang kita perlu menambahkan lebih banyak fungsi untuk keperluan projek kita. Dalam keadaan itu, kita dapat mengembangkan perpustakaan ini dengan menambahkan peluasan khas kita. Sambungan khusus ini dipanggil 'Sambungan Pengguna'.
Sebagai contoh, kita memerlukan Tindakan yang dapat mengubah teks menjadi huruf besar sebelum memasukkannya ke dalam elemen web. Anda tidak dapat menemui Tindakan ini di pustaka Tindakan lalai. Sekiranya anda boleh membuat 'Sambungan Pengguna' anda sendiri. Dalam tutorial ini, kita akan belajar bagaimana membuat peluasan pengguna untuk menukar Teks ke Huruf Besar
Keperluan untuk membuat pelanjutan pengguna Selenium:
Untuk membuat peluasan pengguna untuk Selenium IDE, kita perlu mengetahui konsep asas konsep objek prototaip JavaScript dan Java Script.
Untuk membuat pelanjutan pengguna, anda perlu membuat kaedah skrip Java dan menambahkannya ke prototaip objek selenium dan prototaip objek PageBot.
Bagaimana Selenium IDE mengenali Sambungan Pengguna?
Setelah menambahkan Sambungan Pengguna ke Selenium IDE ketika kita memulai Selenium IDE, semua pelanjutan ini dalam prototaip javascript dimuat, dan Selenium IDE mengenalinya dengan nama mereka.
Cara Membuat Sambungan Pengguna
Langkah 1) Tindakan - semua tindakan dimulakan dengan "do", iaitu jika tindakan itu untuk teks huruf besar daripada namanya akan menjadi doTextUpperCase. Apabila kita menambahkan kaedah tindakan ini di Selenium IDE, Selenium IDE sendiri akan membuat kaedah menunggu untuk tindakan ini. Jadi dalam kes ini ketika kita membuat tindakan doTextUpperCase , Selenium IDE akan membuat fungsi menunggu yang sesuai sebagai TextUpperCaseAndWait . Ia boleh menerima dua parameter
Contoh: Tindakan Teks Kes Atas
Selenium.prototype.doTextUpperCase = fungsi (pencari, teks) {// Di sini findElement sendiri mampu menangani semua jenis pencari (xpath, css, name, id, className), Kita hanya perlu menyampaikan teks pencarivar element = this.page (). findElement (pencari);// Buat teks untuk menaiptext = text.toUpperCase ();// Gantikan teks elemen dengan teks baruthis.page (). menggantikanTeks (elemen, teks);};
Langkah 2) Penilai / Penegasan- Semua penilai yang didaftarkan dalam prototaip objek selenium akan diawali
oleh "get" atau "is" Cth. getValueFromCompoundTable, isValueFromCompoundTable. Ia boleh menerima dua parameter, satu untuk sasaran dan satu lagi untuk medan nilai dalam kes ujian.
Untuk setiap Penilai, akan ada fungsi pengesahan yang sesuai dengan awalan "verifikasi", "tegaskan" dan awalan fungsi tunggu oleh "waitFor"
Contoh: Bagi penilai Teks Kes Atas
Selenium.prototype.assertTextUpperCase = fungsi (pencari, teks) {// Semua strategi pencari dikendalikan secara automatik oleh "findElement"var element = this.page (). findElement (pencari);// Buat teks untuk mengesahkantext = text.toUpperCase ();// Dapatkan nilai elemen sebenarvar sebenarnyaValue = element.value;// Pastikan nilai sebenar sesuai dengan yang diharapkanAssert.matches (dijangkaValue, nilai sebenarnya);};Selenium.prototype.isTextEqual = fungsi (pencari, teks) {kembalikan ini.getText (locator) .value === teks;};Selenium.prototype.getTextValue = fungsi (pencari, teks) {kembalikan ini.getText (pencari). nilai;};
Langkah 3) Strategi pencari- Sekiranya kita ingin membuat fungsi kita sendiri untuk mencari elemen maka
kita perlu memperluas prototaip PageBot dengan fungsi dengan awalan "locateElementBy."
Ia akan mengambil dua parameter, yang pertama adalah rentetan pencari dan yang kedua adalah dokumen
di mana ia perlu dicari.
Contoh: Untuk Pencari Teks Kes Atas
// "inDocument" adalah dokumen yang anda cari.PageBot.prototype.locateElementByUpperCase = fungsi (teks, dalam Dokumen) {// Buat teks untuk dicarivar dijangkaValue = text.toUpperCase ();// Teliti semua elemen, cari elemen yang ada// nilai === nilai jangkaan kamivar allElements = inDocument.getElementsByTagName ("*");// Bintang ini '*' adalah sejenis ungkapan biasa yang akan dilalui setiap elemen (dalam HTML DOM setiap elemen pasti mempunyai nama tag seperti , ,,