类: BrowserInteractionResultReader
一个实用程序实体,用于读取保存来自上次 MemLab 浏览器交互运行的数据和结果的目录中的所有生成的文件
层次结构
default
↳
BrowserInteractionResultReader
方法
cleanup()
清理从 memlab 浏览器交互运行生成的数据/文件
- 返回值:
void
| 无返回值 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
// delete all data/files generated by takeSnapshots
result.cleanup();
})();
getConsoleBackupFile()
此方法获取控制台输出的备份文件。
memlab CLI 命令(例如,memlab find-leaks
)输出一个非结构化的字符串表示形式,以便于阅读,而 API(例如,findLeaks
)返回结构化的泄漏表示形式,方便进行后处理。 如果您需要获取当前工作目录中 CLI 的所有字符串输出,您可以从该方法返回的 CLI 输出备份文件中读取它们。
- 返回值:
string
| 备份文件的绝对路径 - 示例:
const {takeSnapshots, findLeaks} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
const leaks = await findLeaks(result);
// get the console output backup file
const consoleBackupFile = result.getConsoleBackupFile();
})();
getInteractionSteps()
浏览器交互步骤序列
- 返回值:
E2EStepInfo
[] | 浏览器交互步骤信息的数组 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
const steps = result.getInteractionSteps();
// print each browser interaction's name and JavaScript heap size (in bytes)
steps.forEach(step => console.log(step.name, step.JSHeapUsedSize))
})();
getRootDirectory()
获取存储 memlab 运行的数据和生成文件的目录
- 返回值:
string
| 目录的绝对路径 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
// get the directory that stores all the files
// generated from the takeSnapshots call
const dataDir = result.getRootDirectory();
})();
getRunMetaInfo()
浏览器交互运行的通用元数据
- 返回值:
RunMetaInfo
| 关于整个浏览器交互的元数据 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
const metaInfo = result.getRunMetaInfo();
// print all browser web console output
console.log(metaInfo.browserInfo._consoleMessages.join('\n'));
})();
getSnapshotFileDir()
获取包含所有快照文件的目录
- 返回值:
string
| 目录的绝对路径 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
// get the absolute path the directory holding all snapshot files
const files = result.getSnapshotFileDir();
})();
getSnapshotFiles()
获取从上次 memlab 浏览器交互生成的所有快照文件
- 返回值:
string
[] | 快照文件绝对路径的数组 - 示例:
const {takeSnapshots} = require('@memlab/api');
(async function () {
const scenario = { url: () => 'https://npmjs.net.cn'};
const result = await takeSnapshots({scenario});
// get absolute paths of all snapshot files
const files = result.getSnapshotFiles();
})();
Static
from(workDir?
)
从数据目录构建结果读取器,该目录存储了 memlab 运行的数据和生成的文件
参数:
workDir
:string
|''
| 数据目录的绝对路径
返回值:
BrowserInteractionResultReader
| ResultReader 实例示例:
const {BrowserInteractionResultReader} = require('@memlab/api');
const dataDir = '/tmp/memlab'; // where the last memlab run stores results
const reader = BrowserInteractionResultReader.from(dataDir);
reader.cleanup(); // clean up the results