Dalam tutorial ini, kita akan belajar bagaimana menangani pop timbul di Selenium dan pelbagai jenis amaran yang terdapat dalam Pengujian aplikasi web. Kami juga akan melihat bagaimana menangani Makluman di Selenium WebDriver dan mengetahui bagaimana kita menerima dan menolak amaran bergantung kepada jenis amaran.
Dalam tutorial ini, anda akan belajar-
- Apakah Makluman?
- Cara menangani Makluman di Selenium WebDriver
- Cara mengendalikan tetingkap Selenium Popup menggunakan Webdriver
Apakah Makluman di Selenium?
An Alert di Selenium adalah kotak mesej kecil yang muncul pada skrin untuk memberi pengguna beberapa maklumat atau pemberitahuan. Ini memberitahu pengguna dengan beberapa informasi atau kesalahan tertentu, meminta izin untuk melakukan tugas-tugas tertentu dan juga memberikan pesan peringatan juga.
Berikut adalah sedikit amaran dalam jenis Selenium:
1) Makluman Ringkas
Kelas amaran sederhana di Selenium memaparkan beberapa maklumat atau amaran di skrin.
2) Makluman Segera.
Makluman Prompt ini meminta beberapa input dari pengguna dan pemacu web Selenium dapat memasukkan teks menggunakan kunci kirim ("input
…. ").3) Makluman Pengesahan.
Makluman pengesahan ini meminta izin untuk melakukan beberapa jenis operasi.
Cara menangani Makluman di Selenium WebDriver
Antara muka amaran memberikan beberapa kaedah di bawah ini yang banyak digunakan dalam Selenium Webdriver.
1) batal tolak () // Untuk mengklik butang 'Batal' pada amaran.
driver.switchTo (). alert (). diberhentikan ();
2) batal terima () // Untuk mengklik butang 'OK' pada amaran.
driver.switchTo (). alert (). terima ();
3) String getText () // Untuk menangkap mesej amaran.
driver.switchTo (). alert (). getText ();
4) batal sendKeys (String stringToSend) // Untuk menghantar beberapa data ke kotak amaran.
driver.switchTo (). alert (). sendKeys ("Teks");
Anda dapat melihat sejumlah kaedah Makluman ditampilkan seperti yang ditunjukkan dalam skrin di bawah yang disarankan oleh Eclipse.
Kita boleh beralih ke amaran dengan mudah dari tetingkap utama dengan menggunakan kaedah .switchTo () Selenium .
Sekarang kita mengautomatikkan senario di bawah ini.
Dalam senario ini, kami akan menggunakan laman demo Guru99 untuk menggambarkan pengendalian Selenium Alert.
Langkah 1) Lancarkan penyemak imbas web dan buka laman web "http://demo.guru99.com/test/delete_customer.php"
Langkah 2) Masukkan Mana-mana id Pelanggan.
Langkah 3) Setelah memasukkan ID pelanggan, Klik pada butang "Kirim".
Langkah 4) Tolak / terima amaran.
Mengendalikan Makluman di Selenium Webdriver menggunakan senario di atas
import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.NoAlertPresentException;import org.openqa.selenium.Alert;kelas awam AlertDemo {utama kekosongan statik awam (String [] args) melemparkan NoAlertPresentException, InterruptException {System.setProperty ("webdriver.chrome.driver", "G: \\ chromedriver.exe");Pemacu WebDriver = ChromeDriver baru ();// Pengendalian Mesej Maklumandriver.get ("http://demo.guru99.com/test/delete_customer.php");driver.findElement (By.name ("cusid")). sendKeys ("53920");driver.findElement (By.name ("submit")). hantar ();// Beralih ke MaklumanMakluman amaran = driver.switchTo (). Amaran ();// Menangkap mesej amaran.String alertMessage = driver.switchTo (). Alert (). GetText ();// Memaparkan mesej amaranSystem.out.println (alertMessage);Thread.sleep (5000);// Menerima amaranwaspada.terima ();}}
Pengeluaran :
Apabila anda melaksanakan kod di atas, ia melancarkan laman web. Cuba hapus ID Pelanggan dengan mengendalikan amaran pengesahan yang terpapar di layar, dan dengan itu menghapus id pelanggan dari aplikasi.
Cara menangani tetingkap Selenium Pop-up menggunakan Webdriver
Dalam automasi, ketika kita memiliki banyak tetingkap dalam aplikasi web apa pun, kegiatan tersebut mungkin perlu beralih kawalan di antara beberapa tetingkap dari satu ke yang lain untuk menyelesaikan operasi. Setelah selesai operasi, ia harus kembali ke tetingkap utama iaitu tetingkap induk di Selenium. Kami akan melihatnya lebih jauh dalam artikel dengan contoh.
Dalam pemacu web Selenium terdapat kaedah di mana kita dapat menangani beberapa tetingkap.
Driver.getWindowHandles ();
Untuk menangani semua tetingkap yang dibuka oleh pemandu web, kita dapat menggunakan "Driver.getWindowHandles ()" dan kemudian kita dapat menukar tetingkap dari satu tetingkap ke tetingkap yang lain dalam aplikasi web. Jenis pengembaliannya adalah Iterator
Driver.getWindowHandle ();
Apabila laman web dibuka, kita perlu mengendalikan tetingkap utama oleh driver.getWindowHandle () . Ini akan menangani tetingkap semasa yang mengenal pasti secara unik dalam contoh pemacu ini. Jenis pengembaliannya ialah String.
Untuk pengendalian Tingkap di Selenium, kami akan mengikuti langkah-langkah berikut:
Sekarang, kita akan mengotomatisasi senario di bawah ini untuk melihat bagaimana menangani pelbagai tetingkap menggunakan Selenium Webdriver.
Dalam senario ini, kami akan menggunakan laman demo "Guru99" untuk menggambarkan pengendalian tetingkap.
Langkah 1) Lancarkan laman web.
Lancarkan penyemak imbas dan buka laman web " http://demo.guru99.com/popup.php "
Langkah 2) Klik pada pautan "Klik Di Sini".
Apabila pengguna mengklik pada pautan "Klik Di Sini", tetingkap anak baru akan terbuka.
Langkah 3) Tetingkap Anak Baru dibuka.
Tetingkap baru terbuka, minta pengguna memasukkan id e-mel dan menyerahkan halaman.
Langkah 4) Masukkan ID e-mel anda dan hantar.
Langkah 5) Paparkan Kredensial Akses semasa menghantar halaman.
Apabila anda melaksanakan kod, anda akan melihat tetingkap anak terbuka di tab baru.
- Tutup tetingkap Anak di mana kelayakan ditunjukkan.
- Tukar ke tetingkap induk.
Mengendalikan beberapa tetingkap di pemacu web Selenium menggunakan senario di atas.
import java.util.Iterator;import java.util.Set;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;kelas awam WindowHandle_Demo {main statik kekosongan awam (String [] args) melemparkan InterruptException {Pemacu WebDriver = FirefoxDriver baru ();// Melancarkan laman web.driver.get ("http://demo.guru99.com/popup.php");driver.manage (). window (). maksimalkan ();driver.findElement (By.xpath ("// * [mengandungi (@ href, 'popup.php')]")). klik ();String MainWindow = driver.getWindowHandle ();// Untuk menangani semua tetingkap yang baru dibuka.Tetapkans1 = driver.getWindowHandles ();Iterator i1 = s1.iterator ();sementara (i1.hasNext ()){String ChildWindow = i1.next ();jika (! MainWindow.equalsIgnoreCase (ChildWindow)){// Beralih ke tetingkap Anakdriver.switchTo (). tetingkap (ChildWindow);driver.findElement (By.name ("emailid")).sendKeys (" Alamat e-mel ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya.");driver.findElement (By.name ("btnLogin")). klik ();// Menutup Tetingkap Anak.pemandu.tutup ();}}// Beralih ke tetingkap Ibu Bapa iaitu Tetingkap Utama.driver.switchTo (). tetingkap (MainWindow);}}
Pengeluaran:
Apabila anda melaksanakan kod di atas, ia melancarkan laman web dan dengan mengklik pautan "Klik di sini," ia membuka tetingkap anak di tab baru. Anda boleh menutup tetingkap anak, dan beralih ke tetingkap induk setelah operasi selesai sepenuhnya. Oleh itu mengendalikan lebih daripada satu tetingkap dalam aplikasi.
Pengendalian Banyak Tetingkap di Selenium
Kesimpulan:
- Kami menentukan jenis amaran dan menunjukkannya dengan tangkapan skrin.
- Menunjukkan pengendalian Makluman dengan Selenium WebDriver menggunakan senario tertentu.
- Mengendalikan beberapa tetingkap dengan Selenium WebDriver menggunakan senario tertentu.