Mengatasi StaleElementReferenceException dalam Selenium
Ujian selenium selalunya menghadapi StaleElementReferenceException yang digeruni. Ini berlaku apabila operasi DOM menyebabkan elemen tidak boleh diakses buat sementara waktu, menyebabkan ujian anda gagal. Berikut ialah beberapa strategi untuk meningkatkan kestabilan ujian dan mengelakkan pengecualian ini:
Mencuba Semula Interaksi Elemen
Percubaan untuk berinteraksi dengan elemen beberapa kali dalam satu gelung boleh mengurangkan isu. Kod Java berikut menunjukkan pendekatan ini:
public boolean retryingFindClick(By by) { boolean result = false; int attempts = 0; while(attempts < 2) { try { driver.findElement(by).click(); result = true; break; } catch(StaleElementException e) { } attempts++; } return result; }
Mengabaikan Pengecualian Elemen Lapuk
Dalam beberapa kes, StaleElementReferenceException boleh diabaikan dengan selamat. Sebagai contoh, jika elemen dijangka berubah dengan kerap semasa ujian, penangkapan berulang kali dan mengabaikan pengecualian mungkin diperlukan.
Pemilihan Elemen Pemfaktoran Semula
Pastikan elemen tersebut logik pemilihan dalam ujian anda adalah teguh dan boleh dipercayai. Pertimbangkan untuk menggunakan pengecam unik dan stabil untuk mencari elemen. Selain itu, elakkan bergantung pada rujukan unsur lapuk dengan kerap menyegarkan elemen:
WebElement element = driver.findElement(By.id("my-element")); driver.navigate().refresh(); element = driver.findElement(By.id("my-element"));
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengendalikan StaleElementReferenceException dengan Berkesan dalam Ujian Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!