【发布时间】:2021-07-29 05:11:23
【问题描述】:
我正在尝试让 Cypress 与 JMeter 配对。我当前的任务是从 cypress 测试中获取结果(性能时间),然后将它们与负载结果进行比较。编写测试后,我的第一个目标是让 cypress 启动我拥有的 JMeter 脚本,然后在这些脚本运行时执行测试。
我的第一个问题是尝试运行 exec 命令,但是,cypress 不断抛出错误,说 exec 不是函数。 错误:类型错误 exec 不是函数
context('Experimental', function () {
it("Execute Command Line", function () {
var exec = require('child_process').exec, child;
child = exec('java -version', // Just an example
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
child();
})
})
我也试过
var { exec } = require('child_process');
我的第二个问题是尝试使用 cypress 运行 exec 命令。但是,现在它等待命令完成。这不是错误,而是更多的想法是它正在运行 JMeter 并等待它完成,然后再继续测试,因为负载正在加载到服务器上。
context('Experimental', function () {
it("Execute Command Line", function () {
cy.exec('jmeter -n -t C:/test.jmx -l c:/results.csv', {timeout:600000})
cy.log('Something')
cy.pause()
})
})
如果我可以在运行脚本的同时了解如何运行命令行,这将很有帮助,因为我需要实现类似的功能来启动环境。任何插件或模块也会有所帮助。我对 Javascript 非常缺乏经验。
【问题讨论】:
标签: javascript command-line jmeter cypress