Java NAS文件夹位置

Java NAS文件夹位置,java,jmeter,jmeter-plugins,beanshell,jmeter-5.0,Java,Jmeter,Jmeter Plugins,Beanshell,Jmeter 5.0,希望你做得很好,我是从堆栈溢出链接来到这里的 我在上引用了BeanShell代码,对它进行了一点修改,我可以使用我想要的命名约定创建文件 我正在创建定制的XML请求,这些请求非常庞大,需要创建大量接近50到80K的XML文件 创建文件不是问题,用修改过的代码保存xml请求对我来说很有用,它会将文件保存到jmeter bin文件夹 请在下面找到稍微修改过的代码 import org.apache.commons.io.FileUtils; String data = ctx.getCurrent

希望你做得很好,我是从堆栈溢出链接来到这里的

我在上引用了BeanShell代码,对它进行了一点修改,我可以使用我想要的命名约定创建文件

我正在创建定制的XML请求,这些请求非常庞大,需要创建大量接近50到80K的XML文件

创建文件不是问题,用修改过的代码保存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,我就将XML放入NAS文件位置,有没有一种方法可以在上面的代码中定义一个路径,以便在特定位置输出文件

我所说的位置是一个NAS文件监视程序位置,其路径如下所示

\\xxx1prd-xxxxxx\ABC xxxxxxxxxxxxxxxxxxxx\XXX\XXX\XXX\xxxxxx\xxxxxx

致意

  • 最简单的方法是从该网络驱动器启动并更改文件路径,如:

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

     FileUtils.writeStringToFile(new File("N:/MPOS_" + ${__P(batchno)} + "-" + ${p_Sequence} + "-" +"${__time(yyyyMMddhhmmss)}" + ".xml"),data);
    
  • 从JMeter 3.1开始,您应该使用Java和Groovy语言编写脚本

  • 转换为Groovy脚本,以便进行更改:

    • ${{uu P(batchno)}
      props.get(“batchno”)
    • ${p_序列}
      vars.get(“p_序列”)
    • 等等
    更多信息:


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

    我已通过一个单独的bat文件将文件移动到服务器来完成此操作。但我仍然希望将生成的文件直接放到NAS/文件夹位置,而不是先在bin文件夹中生成文件,然后在Jmeter中使用带OS process Sampler的BAT文件移动到NAS/文件夹位置。这是一个额外的步骤,不是很聪明。如果有人能帮上忙的话,这将有助于我控制更多的文件生成,同时减少对机器的压力,以执行移动文件的额外任务。谢谢