Servizio Profilo Firefox
Vuoi eseguire il tuo browser Firefox con un'estensione specifica o hai bisogno di impostare alcune preferenze? Selenium ti permette di utilizzare un profilo per il browser Firefox passando questo profilo come stringa base64
alla proprietà moz:firefoxOptions.profile
nelle tue capacità desiderate. Questo richiede la creazione di quel profilo e la sua conversione in base64
. Questo servizio per il wdio testrunner si occupa del lavoro di compilazione del profilo e ti permette di definire comodamente le opzioni desiderate dal file wdio.conf.js
.
Per trovare tutte le opzioni possibili, apri about:config nel tuo browser Firefox o visita il sito mozillaZine per trovare la documentazione completa su ogni impostazione. Oltre a ciò, puoi definire estensioni Firefox compilate (come *.xpi
) che dovrebbero essere installate prima dell'inizio del test.
Installazione
Il modo più semplice è mantenere @wdio/firefox-profile-service
come devDependency nel tuo package.json
, tramite:
npm install @wdio/firefox-profile-service --save-dev
Le istruzioni su come installare WebdriverIO
possono essere trovate qui.
Configurazione
Configura il tuo profilo aggiungendo il servizio firefox-profile
alla tua lista di servizi. Quindi definisci le tue impostazioni nella proprietà firefoxProfile
come questo:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
extensions: [
'/path/to/extensionA.xpi', // path to .xpi file
'/path/to/extensionB' // or path to unpacked Firefox extension
],
'xpinstall.signatures.required': false,
'browser.startup.homepage': 'https://webdriver.io',
legacy: true // only use for firefox <= 55
}]
],
// ...
};
Se hai creato un'estensione Firefox personalizzata che desideri installare nel browser, assicurati di impostare 'xpinstall.signatures.required': false
come flag del profilo poiché le estensioni Firefox devono essere firmate da Mozilla.
Per utilizzare estensioni personalizzate non firmate, dovrai anche utilizzare Firefox Developer Edition poiché le versioni regolari di Firefox 48 e successive non lo consentono.
Opzioni
Contiene tutte le impostazioni come coppie chiave-valore. Puoi trovare tutte le impostazioni disponibili nella pagina about:config
.
extensions
Aggiungi una o più estensioni alla sessione del browser. Tutte le voci possono essere o un percorso assoluto al file .xpi
o il percorso a una directory di estensione Firefox decompressa.
Tipo: String[]
Predefinito: []
profileDirectory
Crea un profilo Firefox basato su uno esistente impostando un percorso assoluto a quel profilo.
Tipo: String
Predefinito: null
proxy
Imposta le impostazioni del proxy di rete. Il parametro proxy
è un hash la cui struttura dipende dal valore della chiave obbligatoria proxyType
, che prende uno dei seguenti valori di stringa:
direct
- connessione diretta (nessun proxy)system
- usa le impostazioni proxy del sistema operativopac
- usa una configurazione automatica del proxy impostata in base al valore della chiaveautoconfigUrl
manual
- impostazioni proxy manuali definite separatamente per diversi protocolli utilizzando valori dalle seguenti chiavi:ftpProxy
,httpProxy
,sslProxy
,socksProxy
Tipo: Object
Predefinito: null
Esempio:
-
Proxy automatico:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'pac',
autoconfigUrl: 'http://myserver/proxy.pac'
}
}]
],
// ...
}; -
Proxy HTTP manuale:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080'
}
}]
],
// ...
}; -
Proxy HTTP e HTTPS manuale:
// wdio.conf.js
export const config = {
// ...
services: [
['firefox-profile', {
proxy: {
proxyType: 'manual',
httpProxy: '127.0.0.1:8080',
sslProxy: '127.0.0.1:8080'
}
}]
],
// ...
};
legacy
Si prega di impostare questo flag su true
se si utilizza Firefox v55 o inferiore.
Tipo: Boolean
Predefinito: false
Per ulteriori informazioni su WebdriverIO visita la homepage.