NAS 文件夹位置

NAS Folder Location

希望你做得很好,我是从堆栈溢出中过来的link

我在 Save body request in JMeter 引用了 bean shell 代码,我稍微修改了它,我可以用我想要的命名约定创建文件。

我正在创建自定义 XML 请求,这些请求很大,需要创建大量然后将近 50 到 80 K xmls 文件。

创建文件不是问题,使用修改后的代码保存 xml 请求对我有用,它将文件保存到 jmeter bin 文件夹中。

请在下面找到稍微修改过的代码

import org.apache.commons.io.FileUtils;

String data = ctx.getCurrentSampler().getArguments().getArgument(0).getValue();

FileUtils.writeStringToFile(new File("MPOS_" + ${__P(batchno)} + "-" + ${p_Sequence} + "-" +"${__time(yyyyMMddhhmmss)}" + ".xml"),data);

该代码创建 xml 个文件,其名称类似于

MPOS_300008-15-20201010063800.xml

上面的代码将文件写入 jmeter bin 位置,问题是我不想将 xml 输出文件写入 jmeter bin 位置,因为那样我就必须复制它手动到 NAS 位置,这开销太大,系统可能会死于复制所有这些文件。所以我的想法是,一旦创建了 XML,我就将 XMLS 放在 NAS 文件位置,有没有一种方法可以在上面的代码中定义一个路径,以在特定位置输出文件位置?

我说的位置是一个 NAS 文件观察器位置,其路径如下所示

\xxx1prd-xxxxxx\ABC-Xxxxxxxxxxxxxx-XXXX\XXX\XXX\XXX\XXXXXX

此致

  1. 最简单的方法是 mapping your NAS share as Windows network drive 并更改文件路径以从此网络驱动器开始,例如:

    假设您将字母 N 分配给您的网络驱动器:

     FileUtils.writeStringToFile(new File("N:/MPOS_" + ${__P(batchno)} + "-" + ${p_Sequence} + "-" +"${__time(yyyyMMddhhmmss)}" + ".xml"),data);
    
  2. 从 JMeter 3.1

    开始,您应该使用 JSR223 Test Elements 和 Groovy 语言编写脚本
  3. You should NOT inline JMeter Functions or Variables 到 Groovy 脚本所以改变:

    • ${__P(batchno)}props.get("batchno")
    • ${p_Sequence}vars.get("p_Sequence")
    • 等等

    更多信息:Top 8 JMeter Java Classes You Should Be Using with Groovy

如果您无法映射网络驱动器 - 请使用 JCIFS 库,它提供了将文件写入网络共享的可能性