我正在尝试使用 LoadImpact 中的 K6 框架创建一些测试,但我正在努力按照其文档站点上的说明包含外部 NPM 模块。
在 loadImpacts 文档站点上,它们包含一个关于我所追求的详细示例,这些模块使我能够从肥皂服务响应中解析 xml。但是,我无法让这个工作!现在,我是一个完全的 javascript 新手,但我已经编码多年并且真的很想解决这个问题。可以在这里找到:https ://docs.k6.io/docs/modules#section-npm-modules 任何人都可以让它工作吗?我需要在与 Internet 隔离的服务器上运行它,所以我完全依赖于创建包和传输所需的文件。
根据文档,一个包是这样创建的
-- bundle `cheerio` npm module
git clone git@github.com:cheeriojs/cheerio.git
npm install browserify index.js -s cheerio > cheerio.js
我的第一个问题:在运行此命令时,我所在的文件夹中会创建一个“cheerio.js”文件以及一个“cheerio”文件夹和一个“node_modules”文件夹。我的“根”目录中的cheerio.js 仅包含以下内容:
+ cheerio@0.22.0
+ index.js@0.0.3
+ browserify@16.2.3
updated 3 packages and audited 2829 packages in 2.221s
found 0 vulnerabilities
返回到关于如何在 k6 javascript 中引用此包的 LoadImpacts 示例:
import cheerio from "./vendor/cheerio.js";
export default function()
{
const res = http.get("https://loadimpact.com/");
const $ = cheerio.load(res.body);
这是什么文件,在 browserify 生成的结构中我可以在哪里找到它?我试图将其更改为指向“cheerio”文件夹中的“index.js”或“cheerio/lib”中的cheerio.js。然后,我将收到关于 Cheerio.js 中第一行的投诉,该行定义了一个无法找到的“解析”变量:
var parse = require("./parse'),
如果我将其更改为
var parse = require("./parse.js')
它继续抱怨缺少“htmlparser2”,我也可以在这个结构中找到它,但是似乎整个依赖结构都不起作用。
谁能给我一些指导,告诉我如何为cheerio 创建一个带有依赖项的browserify 包,以及我需要如何/什么复制到我的k6 项目以使其像在loadImpact 站点上一样工作。