dengan cekap menguruskan beberapa tingkap pelayar dengan selenium dalam IE11
Ujian web yang berkesan sering memerlukan menguruskan tab dan tingkap Pelbagai Pelayar. Selenium WebDriver, sementara yang berkuasa, memberikan cabaran ketika mengendalikan di Internet Explorer 11, terutamanya disebabkan oleh urutan yang tidak konsisten di mana pemegangnya dikembalikan.
WindowHandles
Dokumentasi Selenium secara eksplisit menyatakan bahawa urutan
tidak dijamin. Ini menjadikan bergantung kepada penukaran berasaskan indeks yang tidak boleh dipercayai dan terdedah kepada kesilapan. Walaupun sesetengah pengguna menangani ini dengan membuat pemetaan kamus mengendalikan ke jenis halaman, ini menambah kerumitan dan penyelenggaraan overhead, terutamanya apabila tingkap ditutup.
WindowHandles
Penyelesaian yang lebih mantap melibatkan pengumpulan secara dinamik
menggunakan setiap kali tetingkap baru dibuka. Ini memastikan pegangan sentiasa mengikut urutan penciptaan. WindowHandles
getWindowHandles
Kod Java berikut menunjukkan teknik yang lebih baik ini:
<code class="language-java">// Initialize WebDriver WebDriver driver = new InternetExplorerDriver(); driver.get("http://www.google.com"); // Open new windows/tabs ((JavascriptExecutor) driver).executeScript("window.open('http://facebook.com/');"); ((JavascriptExecutor) driver).executeScript("window.open('http://youtube.com/');"); // Collect and iterate through window handles Set<String> windowHandles = driver.getWindowHandles(); Iterator<String> iterator = windowHandles.iterator(); while (iterator.hasNext()) { String handle = iterator.next(); driver.switchTo().window(handle); // Perform actions on the current window }</code>
Kaedah pengumpulan pegangan dinamik ini menawarkan pendekatan yang lebih bersih dan lebih dipercayai untuk menguruskan pelbagai tingkap di Selenium untuk Internet Explorer 11, mengelakkan kerumitan penjejakan pemegang manual dan memastikan penukaran tetingkap yang konsisten.
Atas ialah kandungan terperinci Bagaimanakah saya boleh berulang -ulang melalui selenium windowhandles di Internet Explorer 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!