Selenium Core Extensions (User-Extensions.js)

Isi kandungan:

Anonim

Untuk memahami peluasan, mari kita fahami tiga tiang selenium IDE terlebih dahulu

  1. Tindakan: Operasi apa yang anda lakukan pada UI Screen

  2. Penilai / Tegasan: Pengesahan apa yang anda lakukan pada data yang anda perolehi dari UI

  1. 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 , ,

, , ,
dll). Di sini motif kami adalah untuk mencari elemen yang sesuai dengan teks Kes Atas yang telah kami lalui sehingga kami akan mencarinya dengan semua elemen dan apabila kami mendapat kecocokan, kami akan memiliki elemen web yang betul.untuk (var i = 0; i

Bagaimana menggunakan peluasan teras yang baru dibuat?

  1. Pergi ke Selenium IDE

    Klik pada Pilihan -> Pilihan…

  1. Di bahagian Umum pilih lokasi Sambungan Teras Selenium yang baru dibuat

  2. Klik OK dan mulakan semula Selenium IDE

  1. Anda akan mendapat pelanjutan dalam senarai arahan

Berikut adalah senarai peluasan / pemalam popular yang digunakan di Selenium IDE

Nama Tujuan
Kegemaran Untuk menandakan set ujian sebagai kegemaran dan melaksanakannya dalam satu klik
Juruterbang Flex X Untuk automasi berasaskan Flex
FlexMonkium Untuk ujian rakaman dan main balik berasaskan Adobe Flex di Selenium IDE
Pembalakan Fail Untuk menyimpan log dalam fail
Kawalan Aliran Untuk mengawal aliran pelaksanaan ujian
Unsur Sorotan Untuk menyerlahkan kawalan web
Tunggu Tersirat Untuk menunggu elemen untuk had masa tertentu
Tangkapan Skrin di Gagal Ambil tangkapan skrin mengenai kegagalan
Keputusan ujian Simpan hasil Uji Kes untuk satu set ujian dalam satu klik

Anda boleh mendapatkan semua ini dan banyak lagi dari bahagian muat turun laman rasmi SeleniumHQ

http://docs.seleniumhq.org/download/

Ringkasan:

  • Terdapat tiga bahagian strategi Selenium IDE, Action, Valuers / Assertion, Locator.
  • Sambungan pengguna dibuat, apabila Selenium IDE tidak memenuhi syarat semasa.
  • Untuk membuat peluasan pengguna, diperlukan untuk menambahkan javascript ke prototaip objek selenium.
  • Setelah membuat peluasan, diperlukan untuk menambahkannya di Selenium IDE dan memulakan semula IDE.

Muat turun Selenium Core Extension yang digunakan dalam Tutorial ini