Vai al contenuto principale

Servizio Logger Viewport per Cucumber

wdio-cucumber-viewport-logger-service è un pacchetto di terze parti, per maggiori informazioni consultare GitHub | npm

Servizio Logger Viewport per Cucumber per WebdriverIO

Questo servizio aggiunge la possibilità di registrare i tuoi step Cucumber e altre informazioni di debug direttamente nella finestra del browser nella tua soluzione basata su WebdriverIO. Può essere particolarmente utile nei casi in cui si utilizzano dispositivi o macchine virtuali senza accesso fisico diretto e la possibilità di impostare una sessione interattiva per il debug approfondito dei test e2e.

demo

Guida Rapida

Installa il pacchetto:

npm install wdio-cucumber-viewport-logger-service --save-dev

Aggiungi il servizio alla sezione di configurazione services, ad esempio:

  services: [
//...
'cucumber-viewport-logger',
//...
]

Opzioni del servizio

OpzioneDescrizioneTipoValore predefinito
numberOfStepsil numero di step che saranno presenti nel viewportnumber3
enabledabilita/disabilita il serviziobooleantrue
stylesStili CSS per il wrapper del logger, parola chiave dello step e testo dello step, vedi l'esempio seguenteobject
// wdio.conf.js
exports.config = {
// ...
services: [
['cucumber-viewport-logger', {
numberOfSteps: 5,
enabled: process.env.VP_LOGGER === '1', // il servizio sarà abilitato solo quando imposti la variabile d'ambiente `VP_LOGGER` a `1`
// imposta stili CSS personalizzati per elementi specifici
styles: {
wrapper: { backgroundColor: 'white' },
keyword: { color: 'red' },
text: {
fontSize: '30px',
color: 'green',
},
closeButton: {
color: 'red',
},
},
},]
]
// ...
};

API

logToViewport(message, styles) - mostra un messaggio personalizzato con uno stile CSS personalizzato (non obbligatorio), puoi usarlo nelle tue definizioni di step ad esempio:

When(/^I render message: "([^"]*)"$/, { timeout: 120000 }, function (message) {
browser.logToViewport(message, { text: { color: 'green' } });
});

removeViewportLogMessage() - rimuove la sezione dei messaggi del viewport, può essere utile ad esempio per fare un'asserzione visiva

pointerEvents: 'none'

Per impostazione predefinita, tutti gli eventi del mouse (clic, hover, ecc.) passano attraverso la sezione dei messaggi, ad esempio: invece di fare clic sulla sezione dei messaggi, il clic "passa" all'elemento accanto al messaggio (elemento della tua app), se desideri modificare questo comportamento imposta l'opzione dello stile del wrapper 'pointerEvents' su 'auto', esempio:


/ wdio.conf.js
exports.config = {
// ...
services: [
['cucumber-viewport-logger', {

styles: {
wrapper: { pointerEvents: 'auto' },
},
},]
]
// ...
};

Welcome! How can I help?

WebdriverIO AI Copilot