Selenium: Cara Menghentikan Proses GeckoDriver daripada Menjejas Memori PC Tanpa Menutup Pelayar Web
Untuk menganalisis keputusan ujian dan membuat keperluan pembetulan selepas pelaksanaan ujian, adalah penting untuk memastikan tetingkap Firefox dibuka selepas setiap larian. Walau bagaimanapun, berulang kali menggunakan WebDriver tanpa menutup pemacu boleh menyebabkan penggunaan memori yang berlebihan pada PC. Artikel ini bertujuan untuk menangani isu ini dan menyediakan penyelesaian yang membolehkan proses GeckoDriver ditamatkan tanpa menutup penyemak imbas.
Pernyataan Masalah
Skrip ujian telah dilaksanakan untuk membuat contoh GeckoDriver. Apabila ujian dijalankan beberapa kali tanpa menutup pemacu menggunakan kaedah driver.quit(), ia membawa kepada peningkatan ketara dalam penggunaan memori. Ini berlaku tanpa mengira sama ada penyemak imbas ditutup secara manual selepas ujian.
Penyelesaian
Amalan terbaik untuk automasi Selenium mengesyorkan menggunakan kaedah quit() dalam tearDown() blok. Kaedah ini menghantar arahan "berhenti" kepada pemandu, diikuti dengan permintaan GET ke titik akhir /shutdown. Tindakan ini menamatkan sepenuhnya sesi penyemakan imbas dan tika WebDriver.
Pengoptimuman Tambahan
Jika mahu, anda boleh membunuh secara manual mana-mana tika WebDriver yang tergantung, seperti GeckoDriver.exe, menggunakan kaedah berikut:
Java Solution (Windows):
Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T");
Python Solution (Windows):
os.system("taskkill /f /im geckodriver.exe /T")
Python Solution (Cross Platform):
import os import psutil PROCNAME = "geckodriver" for proc in psutil.process_iter(): if proc.name() == PROCNAME: proc.kill()
Dengan memasukkan salah satu daripada kaedah ini ke dalam rangka kerja ujian anda, anda boleh mengoptimumkan penggunaan memori sambil mengekalkan tetingkap Firefox terbuka untuk tujuan analisis. Pendekatan ini memastikan bahawa ujian itu sendiri kekal tidak terjejas sambil meningkatkan prestasi keseluruhan ujian automatik anda.
Atas ialah kandungan terperinci Bagaimana untuk Membunuh GeckoDriver.exe Tanpa Menutup Pelayar Firefox dalam Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!