Объект HTML Reporter
Обзор
Html-reporter добавляет к объекту testplane объект htmlReporter со своим API.
| Имя | Тип | Описание |
| events | Object | Список событий, на которые можно подписаться. |
| extraItems | Object | Дополнительные элементы, которые будут добавлены в бургер-меню отчета. |
| imagesSaver | Object | Интерфейс для сохранения изображений в хранилище пользователя. |
| reportsSaver | Object | Интерфейс для сохранения sqlite баз данных в хранилище пользователя. |
| snapshotsSaver | Object | Интерфейс для сохранения DOM-снапшотов в хранилище пользователя. |
| addExtraItem | Method | Добавляет дополнительный пункт в бургер-меню отчета. |
| downloadDatabases | Method | Скачивает все базы данных из переданных файлов типа databaseUrls.json. |
| mergeDatabases | Method | Объединяет все переданные базы данных и сохраняет итоговый отчет по заданному пути. |
| getTestsTreeFromDatabase | Method | Асинхронно возвращает дерево тестов из переданной базы данных. |
events
Список событий, на которые можно подписаться.
Смотрите подробнее в разделе «События отчета».
extraItems
Дополнительные элементы, которые будут добавлены в бургер-меню отчета.
Для добавления элементов используйте метод addExtraItem.
imagesSaver
Интерфейс для сохранения изображений в хранилище пользователя.
Пример использования
const MyStorage = require("my-storage");
const myStorage = new MyStorage();
module.exports = (testplane, opts) => {
testplane.on(testplane.events.INIT, async () => {
testplane.htmlReporter.imagesSaver = {
/**
* Сохранить изображение в пользовательское хранилище.
* Функция может быть как асинхронной, так и синхронной.
* Функция должна возвращать путь или URL к сохраненному изображению.
* @property {String} localFilePath – путь к изображению на файловой системе
* @param {Object} options
* @param {String} options.destPath – путь к изображению в html-отчете
* @param {String} options.reportDir - путь к папке html-отчета
* @returns {String} путь или URL к изображению
*/
saveImg: async (localFilePath, options) => {
const { destPath, reportDir } = options;
const imageUrl = await myStorage.save(localFilePath, destPath, reportDir);
// ...
return imageUrl;
},
};
});
};
reportsSaver
Интерфейс для сохранения sqlite баз данных в хранилище пользователя.
Пример использования
const MyStorage = require("my-storage");
const myStorage = new MyStorage();
module.exports = (testplane, opts) => {
testplane.on(testplane.events.INIT, async () => {
testplane.htmlReporter.reportsSaver = {
/**
* Сохранить sqlite базу данных в пользовательское хранилище.
* Функция может быть как асинхронной, так и синхронной.
* Функция должна возвра щать путь или URL к сохраненной sqlite базе данных.
* @property {String} localFilePath – путь к sqlite базе данных на файловой системе
* @param {Object} options
* @param {String} options.destPath – путь к sqlite базе данных в html-отчете
* @param {String} options.reportDir - путь к папке html-отчета
* @returns {String} путь или URL к сохраненной sqlite базе данных
*/
saveReportData: async (localFilePath, options) => {
const { destPath, reportDir } = options;
const dbUrl = await myStorage.save(localFilePath, destPath, reportDir);
// ...
return dbUrl;
},
};
});
};
snapshotsSaver
Интерфейс для сохранения DOM-снапшотов в хранилище пользователя.