Apabila menjalankan ujian Selenium dengan contoh Firefox, penggunaan pemutar tokek boleh menyebabkan kepada pengumpulan kesan ingatan yang berterusan. Ini berlaku walaupun anda menutup tetingkap penyemak imbas secara manual selepas ujian dijalankan. Untuk menyiasat lebih lanjut dan membuat pelarasan yang diperlukan, anda mungkin mahu memastikan penyemak imbas Firefox tetap terbuka.
Secara umumnya disyorkan untuk menggunakan kaedah driver.quit() dalam kaedah tearDown() ujian anda. Tindakan ini secara berkesan menutup sesi penyemakan imbas dan membunuh contoh WebDriver. Walau bagaimanapun, dalam senario tertentu, anda mungkin memilih untuk memastikan tetingkap penyemak imbas Firefox dibuka untuk analisis lanjut.
Dalam kes sedemikian, sebaliknya daripada meninggalkan proses pendorong tokek untuk terus menggunakan memori, anda boleh memilih yang berikut penyelesaian:
Anda boleh menamatkan secara pemrograman mana-mana tika WebDriver yang berlarutan, termasuk pemutar gecko, dengan melaksanakan blok kod berikut: >
Penyelesaian Java (Windows):
import java.io.IOException; public class Kill_ChromeDriver_GeckoDriver_IEDriverserver { public static void main(String[] args) throws Exception { Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe /T"); } }
Python Solution (Windows):
import os os.system("taskkill /f /im geckodriver.exe /T") os.system("taskkill /f /im chromedriver.exe /T") os.system("taskkill /f /im IEDriverServer.exe /T")
Python Solution (Cross Platform):
import os import psutil PROCNAME = "geckodriver" # or chromedriver or IEDriverServer for proc in psutil.process_iter(): # check whether the process name matches if proc.name() == PROCNAME: proc.kill()
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menangani Penggunaan Memori Tinggi yang Disebabkan oleh Proses Gekodriver Selenium?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!