API плагина
Обзор
Html-reporter добавляет к объекту testplane
объект htmlReporter
со своим API.
Имя | Тип | Описание |
events | Object | Список событий, на которые можно подписаться. |
extraItems | Object | Дополнительные элементы, которые будут добавлены в бургер-меню отчета. |
imagesSaver | Object | Интерфейс для сохранения изображений в хранилище пользователя. |
reportsSaver | Object | Интерфейс для сохранения sqlite баз данных в хранилище пользователя. |
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;
},
};
});
};
addExtraItem
Добавляет дополнительный пункт в виде ссылки в бургер-меню html-отчета.
Пример вызова
testplane.htmlReporter.addExtraItem(caption, url);
Параметры вызова
Все па раметры являются обязательными.
Имя параметра | Тип | Описание |
caption | String | Название пункта, который надо добавить в бургер-меню. |
url | String | URL, на который будет ссылаться добавляемый пункт меню. |
downloadDatabases
Скачивает все базы данных из переданных файлов databaseUrls.json
.
Пример вызова
const dbPaths = await testplane.htmlReporter.downloadDatabases([".databaseUrls.json"], {
pluginConfig,
});