QNA > P > Perché Selenium È Così Lento?

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:

  1. 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.
  2. 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.

Di Nalepka

Avere più schede aperte in Google Chrome lo rende lento? :: Perché Fortnite è così popolare quando è tutto competitivo?
Link utili