Variabel Toko, Gema, Peringatan, Penanganan PopUp di Selenium IDE
⚡ Ringkasan Cerdas
Simpan perintah di Selenium IDE menyimpan nilai runtime ke dalam variabel bernama, perintah echo mencetaknya ke log, dan serangkaian perintah khusus menangani peringatan, dialog konfirmasi, dan peralihan antara beberapa jendela browser.

Dalam tutorial ini Anda akan mempelajari perintah store, perintah echo, serta cara menangani alert dan popup. Selenium IDESecara bersama-sama, perintah-perintah ini mengubah skrip yang direkam tetap menjadi skrip yang bereaksi terhadap apa pun yang dikembalikan aplikasi saat dijalankan.
⚠️ Catatan tentang versi: Tangkapan layar di bawah ini berasal dari sumber aslinya. Firefox-plugin Selenium IDE, dan perintah-perintahnya menggunakan nama Selenese camelCase. Chrome saat ini, Firefox dan ekstensi Edge mempertahankan perilaku yang sama tetapi menulis sebagian besar nama perintah dengan spasi. Sebuah petaping Tabel tersebut muncul di dekat akhir artikel ini, dan setiap perintah dan tangkapan layar asli dipertahankan seperti yang dipublikasikan.
Selenium Variabel IDE
Toko
Untuk menyimpan variabel di Selenium IDE, kami menggunakan menyimpan perintah. Ilustrasi di bawah ini menyimpan nilai "tutorial" ke dalam variabel bernama "myVariable."
Untuk mengakses variabel, cukup lingkari variabel tersebut dengan simbol ${ … }. Misalnya, untuk memasukkan nilai “myVariable” ke dalam kotak teks “userName” pada Mercury Tur, masukkan ${myVariable} di kolom Nilai.
Perintah Echo di Selenium IDE
Variabel yang tersimpan tidak terlihat sampai sesuatu mencetaknya, dan itulah yang terjadi. gema Perintah tersebut memang berfungsi. Perintah ini menulis pesan ke panel log IDE selama pemutaran ulang, yang menjadikannya cara tercepat untuk memastikan bahwa perintah store telah menangkap apa yang Anda harapkan sebelum Anda membuat pernyataan di atasnya.
Perintah ini menerima salah satu dari dua bentuk berikut:
- Sebuah string literal. Masukkan teks ke dalam Target bidang, misalnya Langkah login selesai, untuk menandai titik pemeriksaan dalam naskah yang panjang.
- Sebuah variabel. Masukkan ${myVariable} ke dalam Target kolom tersebut dan nilai yang tersimpan akan dicetak sebagai pengganti namanya.
Dua kebiasaan membuat perintah `echo` jauh lebih berguna daripada yang terlihat pada awalnya. Cetak variabel segera setelah perintah `store` yang membuatnya, sehingga kegagalan dapat terjadi. tracDiberikan pada tangkapan daripada pada pernyataan dua puluh langkah kemudian. Dan beri awalan pada setiap pesan dengan langkah yang terkait, karena panel log menampilkan setiap perintah dalam satu daftar datar. Perhatikan bahwa echo hanya menulis ke log — ia tidak pernah mengubah halaman dan tidak pernah gagal dalam pengujian, jadi aman untuk membiarkannya dalam skrip secara permanen.
StoreElementPresent
Perintah ini menyimpan nilai “true” atau “false” tergantung pada keberadaan elemen yang ditentukan. Skrip di bawah ini menyimpan nilai Boolean “true” ke “var1” dan “false” ke “var2”. Untuk memverifikasi, kita akan menggunakan perintah echo untuk menampilkan nilai var1 dan var2. Basis URL untuk ilustrasi di bawah ini diatur ke Mercury Beranda tur.
Teks Toko
Perintah ini digunakan untuk menyimpan teks bagian dalam suatu elemen ke dalam sebuah variabel. Ilustrasi di bawah ini menyimpan teks bagian dalam tag h1 pada halaman pendaftaran Facebook ke dalam variabel bernama “textVar.”
Karena ini adalah satu-satunya elemen sejenis di halaman tersebut, aman untuk menggunakan “css=h1” sebagai target kita. Gambar di bawah ini menunjukkan hal tersebut. Selenium IDE berhasil menyimpan string "Sign Up" dalam variabel "textVar", karena perintah echo mencetak nilainya dengan benar.
Peringatan, Popup, dan Banyak Windows
Notifikasi mungkin merupakan bentuk jendela pop-up yang paling sederhana. Yang paling umum Selenium Perintah IDE yang digunakan dalam menangani peringatan adalah sebagai berikut:
| Alerts | penggunaan |
|---|---|
|
menegaskan Peringatan tegaskanTidak Waspada |
Mengambil pesan peringatan dan membandingkannya dengan nilai string yang telah Anda tentukan. |
|
menegaskanAlertPresent tegaskanAlertNotPresent |
memastikan apakah peringatan ada atau tidak |
| peringatan toko | Mengambil pesan peringatan dan menyimpannya dalam variabel yang Anda tentukan. |
| tokoAlertPresent | Mengembalikan TRUE jika ada peringatan, FALSE jika tidak ada. |
|
verifikasiPeringatan verifikasiNotAlert |
Mengambil pesan peringatan dan memverifikasi apakah pesan tersebut sama dengan nilai string yang Anda tentukan. |
|
verifikasiAlertPresent verifikasiAlertNotPresent |
memverifikasi apakah peringatan ada atau tidak |
Ingatlah dua hal berikut saat bekerja dengan peringatan:
- Selenium IDE secara otomatis mengklik tombol OK pada jendela peringatan, sehingga Anda tidak akan dapat melihat peringatan yang sebenarnya.
- Selenium IDE tidak dapat menangani peringatan yang muncul di dalam fungsi onload() halaman. IDE hanya menangani peringatan yang dihasilkan setelah halaman sepenuhnya dimuat.
Dalam contoh ini, kita menggunakan perintah storeAlert untuk menunjukkan bahwa meskipun Selenium IDE tidak menampilkan peringatan sebenarnya, tetapi tetap dapat mengambil pesan tersebut.
Langkah 1) In Selenium IDE, atur Basis URL ke http://jsbin.com. Selengkapnya URL adalah http://jsbin.com/usidix. Cuplikan jsbin ini berasal dari Firefox-Plugin ini sudah tidak lagi berfungsi; halaman mana pun dengan tombol yang memunculkan peringatan akan menghasilkan hasil yang sama.
Langkah 2) Buat skrip seperti yang ditunjukkan di bawah ini. Perintah `click` menargetkan tombol "Go!", `storeAlert` menangkap pesan ke dalam `alertMessage`, dan `echo` mencetaknya.
Langkah 3) Jalankan skrip, dan jangan berharap untuk melihat peringatan yang sebenarnya. Panel log di bawah menunjukkan pesan yang terekam meskipun dialog tersebut tidak pernah terlihat.
Konfirmasi
Konfirmasi adalah jendela pop-up yang menampilkan tombol OK dan BATAL, berbeda dengan peringatan yang hanya menampilkan tombol OK. Perintah yang dapat Anda gunakan untuk menangani konfirmasi sama dengan perintah yang digunakan pada peringatan.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- tokoKonfirmasi
- tokoKonfirmasiSekarang
- verifikasiKonfirmasi / verifikasiTidakKonfirmasi
- verifyConfirmationPresent / verifyConfirmationNotPresent
Selain itu, perintah-perintah ini memberitahu Selenium Tombol mana yang harus dipilih, OK atau BATAL.
- chooseOkOnNextConfirmation / chooseOkOnNextConfirmationAndWait
- pilihCancelOnNextConfirmation
Tempatkan perintah-perintah ini sebelum perintah yang memicu kotak konfirmasi, sehingga Selenium IDE sudah mengetahui sebelumnya opsi mana yang harus dipilih. Sekali lagi, Anda tidak akan melihat kotak konfirmasi sebenarnya selama eksekusi skrip.
Mari kita uji sebuah halaman web dengan tombol yang dikodekan untuk melaporkan apakah pengguna menekan OK atau BATAL.
Langkah 1) In Selenium IDE, atur Basis URL ke http://jsbin.com. Selengkapnya URL adalah http://jsbin.com/enifaf.
Langkah 2) Buat skrip seperti yang ditunjukkan di bawah ini. Kali ini kita akan menekan tombol OK terlebih dahulu.
Langkah 3) Jalankan skrip dan perhatikan bahwa Anda tidak melihat konfirmasi sebenarnya, namun halaman web tetap melaporkan tombol mana yang ditekan. Selenium IDE ditekan.
Langkah 4) Ganti perintah chooseOkOnNextConfirmation dengan chooseCancelOnNextConfirmation dan jalankan skrip lagi. Halaman sekarang akan menampilkan pilihan yang berlawanan.
kelipatan Windows
Jika Anda mengklik tautan yang membuka jendela terpisah, Anda harus terlebih dahulu memberikan instruksi. Selenium IDE digunakan untuk memilih jendela tersebut sebelum Anda dapat mengakses elemen-elemen di dalamnya. Pada IDE lama, Anda menggunakan judul jendela sebagai penunjuk lokasinya.
Kita menggunakan perintah selectWindow untuk beralih antar jendela.
Kita akan menggunakan tautan http://jsbin.com/ocinaj/1, yang judulnya adalah “Jendela Pertama.” Tautan “di sini” pada halaman tersebut membuka Facebook di jendela baru, setelah itu kita akan memberikan instruksi. Selenium IDE untuk melakukan hal berikut:
- Alihkan kendali dari jendela induk ke jendela Facebook yang baru diluncurkan menggunakan perintah selectWindow dengan judul jendela sebagai penunjuk lokasi.
- Periksa judul jendela baru tersebut.
- Pilih kembali jendela asli menggunakan perintah selectWindow dengan target “null”.
- Periksa judul jendela yang saat ini dipilih.
Rencana di atas diterjemahkan ke dalam rangkaian empat langkah yang ditunjukkan di sini.
Langkah 1) Siapkan Dasarnya URL ke http://jsbin.com.
Langkah 2) Buat skrip seperti gambar di bawah ini.
Kita memerlukan perintah pause untuk menunggu jendela yang baru diluncurkan selesai dimuat sebelum kita dapat membaca judulnya.
Langkah 3) Jalankan skripnya. Perhatikan bahwa Kasus cobaan berhasil, artinya kami dapat beralih antar jendela dan memverifikasi judulnya dengan sukses.
Ingatlah selalu bahwa mengatur target selectWindow ke “null” secara otomatis memilih jendela induk — dalam hal ini jendela tempat elemen “link=here” ditemukan.
Catatan: Facebook telah mengubah judul halamannya sejak tutorial ini dibuat. Ubah judul yang diharapkan dalam skrip sesuai dengan perubahan tersebut.
modern Selenium Perintah-perintah ini setara dengan IDE (Integrated Development Environment).
The Firefox-plugin IDE dihentikan ketika Firefox beralih ke arsitektur WebExtensions, dan Chrome saat ini, Firefox Ekstensi Edge mengubah nama sebagian besar perintah Selenese menjadi bentuk yang diberi spasi. Perilakunya tidak berubah, jadi tabel di bawah ini adalah semua yang Anda butuhkan untuk membaca skrip di atas pada instalasi saat ini.
| Perintah lama dalam tutorial ini | terbaru Selenium Perintah IDE |
|---|---|
| menyimpan | menyimpan |
| gema | gema |
| simpanTeks | teks toko |
| storeElementPresent | simpan elemen ada (atau pastikan elemen ada) |
| assertAlert / verifyAlert | assert alert / verify alert |
| chooseOkOnNextConfirmation | Pilih OK pada konfirmasi berikutnya |
| pilihCancelOnNextConfirmation | pilih batal pada konfirmasi berikutnya |
| pilihJendela (judul sebagai target) | pilih jendela dengan handle=${handle} |
Ada dua perbedaan yang perlu diperhatikan. Prompt, yang tidak dibahas dalam artikel sebelumnya, kini memiliki perintah tersendiri: jawab pada pertanyaan berikutnya merencanakan balasan sebelum dialog muncul, dan webdriver menjawab pada prompt yang terlihat mengetik ke dalam prompt yang sudah terbuka. Dan pergantian jendela tidak lagi bergantung pada judul halaman. Jalankan pegangan jendela toko untuk menangkap pegangan terlebih dahulu, lalu meneruskan pegangan=${peganganmu} untuk memilih jendela. Perubahan itu menghilangkan mode kegagalan yang dijelaskan dalam catatan di atas, di mana sebuah situs hanya mengganti nama halamannya dan skrip berhenti menemukan jendela. Secara resmi Selenium Situs proyek IDE menampilkan seluruh rangkaian perintah saat ini.













