Selenium: Menyemak Penyiapan Pemuatan Halaman Web
Ramai pembangun berusaha untuk mengesahkan pemuatan lengkap halaman web dalam Selenium untuk ujian yang lancar dan tepat . Walau bagaimanapun, tidak seperti semakan keterlihatan elemen eksplisit, tiada fungsi generik sedia untuk memastikan penyiapan halaman dimuatkan.
Kod yang Dicuba
Anda cuba menyemak dengan kod ini:
new WebDriverWait(firefoxDriver, pageLoadTimeout).until( webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));
Tetapi, seperti yang anda perhatikan, pendekatan ini mempunyai pengehadan.
PageLoadStrategy
Walaupun pageLoadStrategy boleh ditetapkan kepada "normal" untuk memastikan 'document.readyState' sama dengan "lengkap," ia tidak mudah. Panggilan JavaScript dan Ajax mungkin masih tertunggak, memerlukan langkah lanjut.
Penantian Tidak Tertentu
Pendekatan seperti menunggu "jQuery.active == 0" atau menggunakan WebDriverWait dengan titleContains () melibatkan masa menunggu yang tidak ditentukan.
Kelihatan Element Waits
Kaedah berbutir adalah menggunakan WebDriverWait dengan visibilityOfElementLocated(). Ini menjadikan program anda menunggu secara khusus untuk keterlihatan elemen yang diingini, memberikan semakan yang lebih tepat bahawa ia dimuatkan sepenuhnya.
Rujukan Tambahan
Untuk mendapatkan maklumat lanjut, rujuk sumber ini:
Kesimpulan
Walaupun tiada fungsi generik untuk menyemak penyiapan pemuatan halaman dalam Selenium , dengan menggunakan teknik yang dibincangkan, seperti PageLoadStrategy, "jQuery.active == 0," indefinite menunggu dan elemen yang kelihatan menunggu, anda boleh mencapai penilaian yang berkesan terhadap kemajuan pemuatan halaman.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyemak Penyiapan Pemuatan Halaman Web dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!