Soalan:
Bagaimana saya boleh menghalang proses GeckoDriver daripada mengambil secara berlebihan ingatan semasa menjalankan ujian Selenium tanpa menggunakan driver.quit()?
Jawapan:
Amalan Terbaik:
Adalah tidak digalakkan untuk mengelak daripada memanggil pemandu. quit() selepas setiap ujian dijalankan untuk pengoptimuman memori. Amalan terbaik Selenium mengesyorkan menggunakan quit() dalam kaedah teardown untuk menamatkan sepenuhnya sesi penyemakan imbas dan mematikan tika WebDriver.
Penyelesaian untuk Instans WebDriver Berjuntai:
Walau bagaimanapun, jika anda perlu membunuh contoh WebDriver yang tergantung (cth., GeckoDriver.exe proses), anda boleh menggunakan kaedah berikut:
Java (Windows):
import java.io.IOException; public class Kill_GeckoDriver { public static void main(String[] args) throws Exception { Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T"); } }
Python (Windows):
import os os.system("taskkill /f /im geckodriver.exe /T")
Python (Salib Platform):
import os import psutil PROCNAME = "geckodriver" for proc in psutil.process_iter(): if proc.name() == PROCNAME: proc.kill()
Dengan menggunakan kaedah ini, anda boleh menamatkan proses GeckoDriver yang tidak diingini tanpa menjejaskan ujian anda atau menutup tetingkap penyemak imbas. Ingat bahawa mengikut amalan terbaik untuk pengurusan ingatan, termasuk menggunakan quit(), adalah penting untuk pelaksanaan ujian Selenium yang optimum.
Atas ialah kandungan terperinci Bagaimana untuk Mengoptimumkan Penggunaan Memori GeckoDriver dalam Selenium Tanpa Mengorbankan Amalan Terbaik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!