Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengurus dan Menguasai Berbilang Melalui Windows dan Tab Pelayar Berbilang Menggunakan WindowHandles Selenium?

Bagaimanakah Saya Boleh Mengurus dan Menguasai Berbilang Melalui Windows dan Tab Pelayar Berbilang Menggunakan WindowHandles Selenium?

Patricia Arquette
Lepaskan: 2025-01-27 02:37:09
asal
864 orang telah melayarinya

How Can I Reliably Manage and Iterate Through Multiple Browser Windows and Tabs Using Selenium's WindowHandles?

Selenium's untuk pengurusan multi-window/tab yang boleh dipercayai WindowHandles

dengan cekap menguruskan pelbagai tingkap dan tab penyemak imbas adalah penting untuk ujian aplikasi web yang mantap. Selenium

memberikan kawalan ini, tetapi ketidakpastian yang wujud dalam perintah lelaran (penyimpanan berasaskan GUID) memberikan cabaran. WindowHandles

Masalah biasa ialah urutan yang tidak konsisten apabila melingkari

. Ini menjadikan penargetan tab atau tingkap tertentu sukar. WindowHandles

Penyelesaian ini melibatkan menggabungkan

dengan koleksi pemegang masa nyata pada penciptaan tetingkap/tab baru. Ini memastikan senarai WebDriverWait yang dikemas kini, membolehkan lelaran yang boleh dipercayai dan bertukar. WindowHandles

Inilah contoh Java yang mempamerkan teknik ini:

<code class="language-java">WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.google.com");
String firstTab = driver.getWindowHandle();
((JavascriptExecutor) driver).executeScript("window.open('http://facebook.com/');");
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.numberOfWindowsToBe(2));
Set<String> handles = driver.getWindowHandles();
Iterator<String> iterator = handles.iterator();
while (iterator.hasNext()) {
    String currentTab = iterator.next();
    if (!firstTab.equalsIgnoreCase(currentTab)) {
        driver.switchTo().window(currentTab);
        System.out.println("Now working on Facebook");
    }
}</code>
Salin selepas log masuk
Kod ini:

    menyimpan pemegang tab Google awal di
  • . firstTab
  • menggunakan
  • untuk memastikan dua tingkap dibuka sebelum meneruskan. WebDriverWait
  • mengumpul dan melangkah melalui
  • set. WindowHandles
  • beralih ke tab Facebook dan mencetak mesej pengesahan.
Pendekatan ini dapat disesuaikan dengan bahasa lain seperti Python. Kaedah ini menjamin pengurusan dan tab penyemak imbas yang konsisten dan boleh dipercayai dalam ujian selenium anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengurus dan Menguasai Berbilang Melalui Windows dan Tab Pelayar Berbilang Menggunakan WindowHandles Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan