Vai al contenuto principale

Driver Binari

Per eseguire l'automazione basata sul protocollo WebDriver è necessario avere driver del browser configurati che traducano i comandi di automazione e siano in grado di eseguirli nel browser.

Configurazione automatizzata

Con WebdriverIO v8.14 e versioni successive non è più necessario scaricare e configurare manualmente i driver del browser poiché questo viene gestito da WebdriverIO. Tutto ciò che devi fare è specificare il browser su cui desideri effettuare i test e WebdriverIO farà il resto.

Personalizzazione del livello di automazione

WebdriverIO ha tre livelli di automazione:

1. Scarica e installa il browser utilizzando @puppeteer/browsers.

Se specifichi una combinazione browserName/browserVersion nella configurazione delle capabilities, WebdriverIO scaricherà e installerà la combinazione richiesta, indipendentemente dal fatto che esista già un'installazione sulla macchina. Se ometti browserVersion, WebdriverIO proverà prima a localizzare e utilizzare un'installazione esistente con locate-app, altrimenti scaricherà e installerà la versione stabile corrente del browser. Per maggiori dettagli su browserVersion, vedi qui.

attenzione

La configurazione automatica del browser non supporta Microsoft Edge. Attualmente, sono supportati solo Chrome, Chromium e Firefox.

Se hai un'installazione del browser in una posizione che non può essere rilevata automaticamente da WebdriverIO, puoi specificare il binario del browser che disabiliterà il download e l'installazione automatizzati.

{
capabilities: [
{
browserName: 'chrome', // o 'firefox' o 'chromium'
'goog:chromeOptions': { // o 'moz:firefoxOptions' o 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}

2. Scarica e installa il driver utilizzando Chromedriver, Edgedriver o Geckodriver.

WebdriverIO farà sempre questo, a meno che il binary del driver non sia specificato nella configurazione:

{
capabilities: [
{
browserName: 'chrome', // o 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // o 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // o 'geckodriver', 'msedgedriver'
}
}
]
}
informazione

WebdriverIO non scaricherà automaticamente il driver Safari poiché è già installato su macOS.

attenzione

Evita di specificare un binary per il browser e omettere il corrispondente binary del driver o viceversa. Se viene specificato solo uno dei valori binary, WebdriverIO cercherà di utilizzare o scaricare un browser/driver compatibile con esso. Tuttavia, in alcuni scenari potrebbe risultare in una combinazione incompatibile. Pertanto, si consiglia di specificare sempre entrambi per evitare problemi causati da incompatibilità di versione.

3. Avvio/arresto del driver.

Per impostazione predefinita, WebdriverIO avvierà e arresterà automaticamente il driver utilizzando una porta libera arbitraria. Specificare uno qualsiasi dei seguenti parametri di configurazione disabiliterà questa funzionalità, il che significa che dovrai avviare e arrestare manualmente il driver:

Configurazione manuale

Di seguito viene descritto come è possibile impostare ancora individualmente ciascun driver. Puoi trovare un elenco con tutti i driver nel README di awesome-selenium.

suggerimento

Se stai cercando di configurare piattaforme mobili e altre piattaforme UI, dai un'occhiata alla nostra guida Appium Setup.

Chromedriver

Per automatizzare Chrome puoi scaricare Chromedriver direttamente sul sito web del progetto o tramite il pacchetto NPM:

npm install -g chromedriver

Puoi quindi avviarlo tramite:

chromedriver --port=4444 --verbose

Geckodriver

Per automatizzare Firefox scarica l'ultima versione di geckodriver per il tuo ambiente e decomprimi nel tuo directory di progetto:

npm install geckodriver

Nota: Altre versioni di geckodriver sono disponibili qui. Dopo il download puoi avviare il driver tramite:

/path/to/binary/geckodriver --port 4444

Edgedriver

Puoi scaricare il driver per Microsoft Edge sul sito web del progetto o come pacchetto NPM tramite:

npm install -g edgedriver
edgedriver --version # prints: Microsoft Edge WebDriver 115.0.1901.203 (a5a2b1779bcfe71f081bc9104cca968d420a89ac)

Safaridriver

Safaridriver viene preinstallato sul tuo MacOS e può essere avviato direttamente tramite:

safaridriver -p 4444

Welcome! How can I help?

WebdriverIO AI Copilot