跳到主要内容

类: 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 运行的数据和生成的文件

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
  • 层次结构
  • 方法
    • cleanup()
    • getConsoleBackupFile()
    • getInteractionSteps()
    • getRootDirectory()
    • getRunMetaInfo()
    • getSnapshotFileDir()
    • getSnapshotFiles()
    • Static from(workDir?)