Ekstensi Inti Selenium (User-Extensions.js)

Daftar Isi:

Anonim

Untuk memahami ekstensi, pertama-tama mari kita pahami tiga pilar selenium IDE

  1. Tindakan: Operasi apa yang Anda lakukan di Layar UI

  2. Penilai / Penegasan: Verifikasi apa yang Anda lakukan pada data yang Anda dapatkan dari UI

  1. Strategi Penunjuk Lokasi: Bagaimana kita bisa menemukan elemen di UI.

Sekarang, Selenium IDE memiliki perpustakaan yang sangat matang dengan banyak Strategi Tindakan, Penegasan / Penilai, dan Penunjuk Lokasi.

Namun terkadang kami perlu menambahkan beberapa fungsi lagi untuk keperluan proyek kami. Dalam situasi itu, kami dapat memperluas pustaka ini dengan menambahkan ekstensi khusus kami. Ekstensi ubahsuaian ini disebut 'Ekstensi Pengguna'.

Misalnya, kita membutuhkan Action yang dapat mengubah teks menjadi huruf besar sebelum mengisinya dalam elemen web. Anda tidak dapat menemukan Tindakan ini di perpustakaan Tindakan default. Jika demikian, Anda dapat membuat 'Ekstensi Pengguna' Anda sendiri. Dalam tutorial ini, kita akan belajar cara membuat ekstensi pengguna untuk mengubah Teks menjadi Huruf Besar

Persyaratan untuk membuat ekstensi pengguna Selenium:

Untuk membuat ekstensi pengguna pada Selenium IDE, kita perlu mengetahui konsep dasar JavaScript dan konsep objek prototipe Java Script.

Untuk membuat ekstensi pengguna, Anda perlu membuat metode skrip Java dan menambahkannya ke prototipe objek selenium dan prototipe objek PageBot.

Bagaimana Selenium IDE mengenali Ekstensi Pengguna?

Setelah menambahkan Ekstensi Pengguna ke Selenium IDE saat kita memulai Selenium IDE, semua ekstensi ini dalam prototipe javascript dimuat, dan Selenium IDE mengenalinya dengan namanya.

Cara Membuat Ekstensi Pengguna

Langkah 1) Tindakan - semua tindakan dimulai dengan "lakukan", yaitu jika tindakan untuk teks huruf besar maka namanya akan menjadi doTextUpperCase. Saat kita menambahkan metode tindakan ini di Selenium IDE, Selenium IDE akan membuat sendiri metode tunggu untuk tindakan ini. Jadi dalam kasus ini ketika kita membuat tindakan doTextUpperCase , Selenium IDE akan membuat fungsi tunggu yang sesuai sebagai TextUpperCaseAndWait . Ini dapat menerima dua parameter

Contoh: Tindakan Teks Huruf Besar

Selenium.prototype.doTextUpperCase = fungsi (pelacak, teks) {// Di sini findElement sendiri mampu menangani semua jenis locator (xpath, css, name, id, className), Kita hanya perlu meneruskan teks locatorvar element = this.page (). findElement (locator);// Buat teks untuk diketiktext = text.toUpperCase ();// Ganti teks elemen dengan teks baruthis.page (). replaceText (elemen, teks);};

Langkah 2) Penilai / Penegasan - Semua penilai yang terdaftar di prototipe objek selenium akan diawali

dengan "get" atau "adalah" Ex. getValueFromCompoundTable, isValueFromCompoundTable. Ini dapat menerima dua parameter, satu untuk target dan satu lagi untuk bidang nilai dalam kasus uji.

Untuk setiap Penilai, akan ada fungsi verifikasi terkait yang diawali dengan "verifikasi", "tegaskan" dan awalan fungsi tunggu dengan "waitFor"

Contoh: Untuk penilai Teks Huruf Besar

Selenium.prototype.assertTextUpperCase = fungsi (pelacak, teks) {// Semua strategi pelacak secara otomatis ditangani oleh "findElement"var element = this.page (). findElement (locator);// Buat teks untuk memverifikasitext = text.toUpperCase ();// Dapatkan nilai elemen sebenarnyavar actualValue = element.value;// Pastikan nilai sebenarnya sesuai dengan yang diharapkanAssert.matches (expectedValue, actualValue);};Selenium.prototype.isTextEqual = fungsi (pelacak, teks) {kembalikan this.getText (locator) .value === text;};Selenium.prototype.getTextValue = fungsi (pelacak, teks) {kembalikan this.getText (locator) .value;};

Langkah 3) Strategi pencari lokasi- Jika kita ingin membuat fungsi kita sendiri untuk mencari elemen kemudian

kita perlu memperluas prototipe PageBot dengan fungsi dengan awalan "locateElementBy."

Ini akan mengambil dua parameter, pertama akan menjadi string locator dan kedua akan menjadi dokumen

di tempat yang perlu dicari.

Contoh: Untuk Pencari Teks Huruf Besar

// "inDocument" adalah dokumen yang Anda cari.PageBot.prototype.locateElementByUpperCase = fungsi (teks, inDocument) {// Buat teks yang akan dicarivar expectedValue = text.toUpperCase ();// Ulangi semua elemen, cari elemen yang memiliki// nilai === nilai yang kami harapkanvar allElements = inDocument.getElementsByTagName ("*");// Bintang '*' ini adalah sejenis ekspresi reguler yang akan melewati setiap elemen (dalam HTML DOM setiap elemen pasti memiliki nama tag seperti , ,

, , ,
dll.). Di sini motif kami adalah untuk menemukan elemen yang cocok dengan teks Huruf Besar yang telah kami lewati sehingga kami akan mencarinya dengan semua elemen dan ketika kami cocok, kami akan memiliki elemen web yang benar.untuk (var i = 0; i

Bagaimana cara menggunakan ekstensi inti yang baru dibuat?

  1. Buka Selenium IDE

    Klik Opsi -> Opsi ...

  1. Di bagian Umum pilih lokasi Ekstensi Inti Selenium yang baru dibuat

  2. Klik OK dan mulai ulang Selenium IDE

  1. Anda akan menemukan ekstensi di daftar perintah

Berikut adalah daftar ekstensi / plug-in populer yang digunakan di Selenium IDE

Nama Tujuan
Favorit Untuk menandai rangkaian pengujian sebagai favorit dan menjalankannya dalam satu klik
Flex Pilot X Untuk otomatisasi berbasis Flex
FlexMonkium Untuk perekaman dan pemutaran berbasis Adobe Flex Pengujian dalam Selenium IDE
File Logging Untuk menyimpan log dalam sebuah file
Alur kontrol Untuk mengontrol aliran eksekusi uji
Sorot Elemen Untuk menyorot kontrol web
Penantian Tersirat Menunggu elemen untuk batas waktu tertentu
ScreenShot saat Gagal Ambil tangkapan layar jika gagal
Hasil tes Simpan hasil Test Case untuk test suite dalam satu klik

Anda bisa mendapatkan semua ini dan lebih banyak lagi dari bagian unduhan situs resmi SeleniumHQ

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

Ringkasan:

  • Ada tiga bagian dari Selenium IDE, Action, Assessmentors / Assertion, Locator strategy.
  • Ekstensi pengguna dibuat, ketika Selenium IDE tidak memenuhi persyaratan saat ini.
  • Untuk membuat ekstensi pengguna perlu menambahkan javascript ke prototipe objek selenium.
  • Setelah pembuatan ekstensi, diperlukan untuk menambahkannya di Selenium IDE dan memulai ulang IDE.

Unduh Ekstensi Inti Selenium yang digunakan dalam Tutorial ini