我需要在apache JMETER中执行具有import语句的JavaScript代码

csbfibhn  于 2023-06-29  发布在  Apache
关注(0)|答案(1)|浏览(108)

我必须运行JavaScript代码,Jmeter中需要使用ethers库。我搜索了其他博客,它推荐我使用BSF采样器。我在jmeter 5.5中没有找到BSF采样器。请查看下面的代码。

const ethers = require('ethers');

const provider = new ethers.JsonRpcProvider('API_URL');
const myPrivateKey = 'PRIVATE_KEY';
const myWallet = new ethers.Wallet(myPrivateKey, provider);
const amount = 100;

async function transferTokens(){
    const transaction = await myWallet.sendTransaction({
        to: '0x7de3280c66ecee8f4cbd8fb78850229d8f10d22f',
        value: ethers.parseEther(amount.toString()),
    });
    await transaction.wait();
}

transferTokens();

之前我试过使用groovy,但是没有成功。我正在使用Jmeter 5.5和Java 17.0.7

2nc8po8w

2nc8po8w1#

从理论上讲,你可以使用JSR 223采样器与JavaScript语言,但:
1.使用JavaScript是not recommended from performance perspective,你应该使用Groovy

  1. JavaScript引擎was removed in Java 15,因此您需要降级JDK或使用GraalVM等替代JVM
  2. JavaScript支持仅限于ECMAScript 5.1,因此您将无法使用现代功能,如果ethers库(无论它是什么)正在使用它们-您的脚本将失败
  3. require('ethers');指令不起作用,您需要下载模块并提供完整路径

相关问题