Aller au contenu principal

Service de journalisation de viewport Cucumber

wdio-cucumber-viewport-logger-service est un package tiers, pour plus d'informations, veuillez consulter GitHub | npm

Service de journalisation de viewport Cucumber pour WebdriverIO

Ce service ajoute la possibilité de journaliser vos étapes Cucumber et d'autres informations de débogage directement dans la fenêtre de votre navigateur dans votre solution basée sur WebdriverIO. Il peut être particulièrement utile dans les cas d'utilisation d'appareils ou de machines virtuelles sans accès physique direct et sans possibilité de configurer une session interactive pour un débogage approfondi de vos tests e2e.

demo

Démarrage rapide

Installez le package :

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

Ajoutez le service à votre section de configuration services, par exemple :

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

Options du service

OptionDescriptionTypeValeur par défaut
numberOfStepsle nombre d'étapes qui seront présentes sur le viewportnumber3
enabledactiver/désactiver le servicebooleantrue
stylesStyles CSS pour l'enveloppe du logger, le mot-clé de l'étape et le texte de l'étape, voir l'exemple ci-dessousobject
// wdio.conf.js
exports.config = {
// ...
services: [
['cucumber-viewport-logger', {
numberOfSteps: 5,
enabled: process.env.VP_LOGGER === '1', // le service ne sera activé que lorsque vous définirez la variable d'environnement `VP_LOGGER` sur `1`
// définir des styles CSS personnalisés pour des éléments particuliers
styles: {
wrapper: { backgroundColor: 'white' },
keyword: { color: 'red' },
text: {
fontSize: '30px',
color: 'green',
},
closeButton: {
color: 'red',
},
},
},]
]
// ...
};

API

logToViewport(message, styles) - affiche un message personnalisé avec un style CSS personnalisé (non obligatoire), vous pouvez utiliser cela dans vos définitions d'étapes par exemple :

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

removeViewportLogMessage() - supprime la section des messages du viewport, peut être utile par exemple pour faire une assertion visuelle

pointerEvents: 'none'

Par défaut, tous les événements de souris (clic, survol, etc.) traversent la section de message, par exemple : au lieu de cliquer sur la section de message, votre clic "passe" à l'élément à côté du message (l'élément de votre application), si vous souhaitez modifier ce comportement, définissez l'option de style d'enveloppe 'pointerEvents' sur 'auto', eq :


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

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

Welcome! How can I help?

WebdriverIO AI Copilot