Slack Reporter Репортер
wdio-slack-reporter это пакет сторонних разработчиков, для получения дополнительной информации, пожалуйста, посетите GitHub | npm
Репортер от WebdriverIO, использующий Incoming webhook и Web API для отправки результатов в Slack.
📢 Важное уведомление
Миграция на filesUploadV2 из-за устаревания files.upload
Скриншот уведомления Slack
Политика поддержки версий WebdriverIO
Версии WebdriverIO, поддерживаемые в этом проекте, следуют политике поддержки WebdriverIO. Политику поддержки WebdriverIO можно проверить здесь.
Установка
Самый простой способ - сохранить @moroo/wdio-slack-reporter как devDependency в вашем package.json.
{
"devDependencies": {
"@moroo/wdio-slack-reporter": "^9.0.0"
}
}
Вы можете сделать это просто:
- NPM
npm install @moroo/wdio-slack-reporter --save-dev
- Yarn
yarn add -D @moroo/wdio-slack-reporter
Инструкции по установке WebdriverIO можно найти здесь.
Конфигурация
Чтобы использовать репортер, вам нужно добавить slack в массив reporters в файле wdio.conf.js
// wdio.conf.js
import SlackReporter from '@moroo/wdio-slack-reporter';
export const config: WebdriverIO.Config = {
reporters: [
[
SlackReporter,
{
slackOptions: {
type: 'web-api',
channel: process.env.SLACK_CHANNEL || 'Cxxxxxxxxxx',
token: process.env.SLACK_BOT_TOKEN || 'xoxb-xxxxxxxxxx-xxxxxx...',
},
},
],
],
};
Параметры конфигурации
Поддерживаются следующие параметры конфигурации.
Для отправки уведомлений необходимо настроить webhook или web-api.
Если настроены и web-api, и webhook, используется web-api.
Webhook (Incoming Webhook)
webhook (Обязательно)
Incoming Webhook канала slack, в который должны отправляться уведомления. Если URL не настроен, уведомления не будут отправляться.
- Область:
webhook - Тип:
string
username (Опционально)
Зн ачение username появится в уведомлении slack как пользователь, отправивший его.
- Область:
webhook - Тип:
string - По умолчанию:
"WebdriverIO Reporter"
icon_url (Опционально)
URL иконки, отображаемой в slack
- Область:
webhook - Тип:
string - По умолчанию:
"https://webdriver.io/img/webdriverio.png"
[!TIP] Помимо этих, все параметры, определенные в спецификации Slack Incoming Webhook, также могут использоваться.
Web API (Slack Bot)
token (Обязательно)
Web API канала slack, в который должны отп равляться уведомления. Требуется токен бот-пользователя. Токены доступа бота всегда начинаются с xoxb.
Токен бота требует область действия OAuth chat:write, files:write.
Смотрите ниже для получения дополнительной информации.
- Область:
web-api - Тип:
string
channel (Обязательно)
Канал, приватная группа или IM-канал для отправки сообщения. Может быть закодированным ID или именем. Смотрите ниже для получения дополнительной информации.
"Как найти ID канала" - stackoverflow -
- Область:
web-api - Тип:
string
[!TIP] Помимо этих, все параметры, определенные в спецификации Slack Web API, также могут использоваться.
uploadScreenshotOfFailedCase (Опционально)
Установите этот параметр в true, чтобы прикрепить скриншот к проваленному случаю.
- Область:
web-api - Тип:
boolean - По умолчанию:
true
notifyDetailResultThread (Опционально)
Этот параметр работает только если параметр notifyTestFinishMessage установлен в true.
Установите этот параметр в true, если вы хотите добавить нить с подробностями результатов к уведомлению о результатах теста, размещенному в Slack.
- Область:
web-api - Тип:
boolean - По умолчанию:
true
filterForDetailResults (Опционально)
Этот параметр работает только если параметр notifyDetailResultThread установлен в true.
Добавьте нужный фильтр в этот параметр массива, и подробные результаты будут отфильтрованы в Slack и отправлены в нить.
(Если нет фильтров (массив пуст или не определен), применяются все фильтры.)
Список фильтров: passed, failed, pending, skipped
- Область:
web-api - Тип:
array (passed | failed | pending | skipped) - По умолчанию:
['passed', 'failed', 'pending', 'skipped']
createScreenshotPayload (Опционально)
Этот параметр настраивает полезную нагрузку, которая загружается со скриншотом для неудачного теста.
- Область:
web-api - Тип:
function
createResultDetailPayload (Опционально)
Этот параметр настраивает полезную нагрузку, которая уведомляет о подробных результатах теста.
- Область:
web-api - Тип:
function
Общие
title (Опционально)
Установите этот параметр в заголовок теста.
- Область:
webhook,web-api - Тип:
string
resultsUrl (Опционально)
Предоставьте ссылку на результаты теста. Это кликабельная ссылка в уведомлении.
- Область:
webhook,web-api - Тип:
string
notifyTestStartMessage (Опционально)
Установите этот параметр в true, чтобы отправлять уведомления о начале теста.
- Область:
webhook,web-api - Тип:
boolean - По умолчанию:
true
notifyFailedCase (Опционально)
Установите этот параметр в true, чтобы прикрепить проваленные случаи к результатам теста, отправляемым в Slack.
- Область:
webhook,web-api - Тип:
boolean - По умолчанию:
true