[英]How do you get Cypress and JMeter to work simultaneously
我正在尝试让赛普拉斯与 JMeter 配对。 我当前的任务是从 cypress 测试中获取结果(性能时间),然后将它们与负载结果进行比较。 编写测试后,我的第一个目标是让赛普拉斯启动 JMeter 脚本,然后在这些脚本运行时执行测试。
我的第一个问题是尝试运行 exec 命令,但是,cypress 不断抛出错误,说 exec 不是 function。 错误:TypeError exec 不是 function
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()
})
})
如果我可以在运行脚本的同时了解如何运行命令行,这将很有帮助,因为我需要实现类似的 function 来启动环境。 任何插件或模块也会有所帮助。 我对 Javascript 非常缺乏经验。
赛普拉斯exec
任务需要从同步的上下文中执行, it
我不会说这是可能的,因为它与赛普拉斯测试构建 model 不兼容。
您是否考虑过编排 JMeter 中的所有内容? 例如,您可以使用setUp 线程组来启动环境,一个线程组用于创建负载,另一个线程组用于通过赛普拉斯测试检查前端。 顺便说一句,JMeter 通过WebDriver Sampler与Selenium浏览器自动化框架集成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.