Zum Hauptinhalt springen

Slack Service

wdio-slack-service is a 3rd party package, for more information please see GitHub | npm Webdriverio library to send test results as a slack notification/message to channels

Installation

The easiest way is to keep wdio-slack-service as a devDependency in your package.json.

{
"devDependencies": {
"wdio-slack-service": "2.0.8"
}
}

You can simple do it by:

npm install wdio-slack-service --save-dev

Instructions on how to install WebdriverIO can be found here.

Configuration

At first, import the service to wdio config file wdio.conf.js

// wdio.conf.js
const slack = require('wdio-slack-service');

In order to use the service you need to have slack webhook url to send the notification and you need to add slack to your services array

Example:

// wdio.conf.js
export.config = {
// ...
services: [
[slack, {
webHookUrl: "<SLACK_WEBHOOK_URL>", // Used to post notification to a particular channel
notifyOnlyOnFailure: true, // Send notification only on test failure
messageTitle: "<NOTIFICATION_TITLE>" // Name of the notification
}]
]

Features

  • Send notification irrespective of test results
  • Send notification only on test failure
  • Support for mocha, jasmine and cucumber
  • Retry/Rerun tests will be logged with addional info
  • Test duration info
  • Error details
  • Cucumber scenario/step reporting
  • Browser and Version info

How it works

For mocha/jasmine, notification will be sent on spec level and for cucumber, it will be on feature level. Let's say, if you have 10 spec/feature files, you will receive 10 notifications as it is triggered in after hook

Options

To send a notification, you should have slack webhook url. To know how to create slack webhook URL, see this page

webHookUrl

This url is used to identity/authenticate the post message and sends it to a slack channel

Type: String
Optional: NO
Default: NA

notifyOnlyOnFailure

If you want to receive slack notifications only on test failure, then set this option to true. Otherwise, it sends notification for all test executions irrespective of pass/fail

Type: Boolean
Optional: YES
Default: false

messageTitle

Title of the notification

Type: String
Optional: YES
Default: Webdriverio Slack Reporter

Screenshots

Cucumber Pass/Fail

Cucumber Pass/fail

Cucumber Retry

Cucumber Retry

All Pass

All Pass

Fail Pass

Fail Pass

Retry Failed

Retry Failed

Retry Passed

Retry Passed


For more information on WebdriverIO see the homepage.

Welcome! How can I help?

WebdriverIO AI Copilot