Perché Selenium è così lento?
Ci sono alcune ottime risposte qui, in particolare modi per aggirare la lentezza di Selenium.
Ma ci sono due cose che rendono Selenium lento:
- Affrontare i browser.
I browser sono lenti e richiedono molte risorse. Automatizzare un browser con Selenium è un esercizio di reverse engineering o di lavoro con le API fornite dal browser. Questo è spesso lento, e richiede controlli di tempo, sincronizzazione e attesa. Questo sta migliorando. In particolare con il Chrome Devtools Protocol (CDP). Altri strumenti come Cypress e Puppeteer - che lavorano solo su Chrome - sono notevolmente più veloci perché usano CDP. Selenium sta lavorando per trarre vantaggio anche da questo, ma è un progetto grande e complesso con un ambito più ampio, quindi ci vorrà più tempo per adottarlo. - Gestione della rete.
Selenium si occupa del traffico sulla rete. È per testare le applicazioni web. Questo significa che spesso si fa affidamento su internet. Una pagina si carica lentamente? Allora anche Selenium sarà lento.
Ma Selenium è anche un'architettura client-server, progettata per lavorare in rete. Questo è così che può essere eseguito distribuito e in parallelo su una rete. Ma di conseguenza, ogni comando deve viaggiare avanti e indietro dal client di Selenium al server di Selenium. E marshall, e unmarshall, e interpretare i comandi. E poi dal server al driver (ChromeDriver, SafariDriver, ecc.). Questo overhead di rete non è così male quando il client e il server Selenium (e il browser e il driver) sono sullo stesso host, ma una latenza di 1ms sullo stesso host può trasformarsi in una latenza di 1ms sulla rete locale o 100ms su internet (verso un Selenium Service remoto). Moltiplicatelo per ogni click, elemento trovato o comando get URL e questo è ciò che fa sembrare Selenium davvero lento.
Articoli simili
- Come usare Selenium WebDriver in Android Studio
- Is it possible to take screenshot of alert in selenium without handling it?
- Perché il PC è lento quando usa l'80% di RAM invece diventa lento al 95% o al 100%?
- Perché Safari è così lento rispetto a Chrome (cercando una risposta tecnica)? Inoltre, perché Apple non lo migliora?