美文网首页Apache JMeter
JMeter插件扩展中对文件的处理

JMeter插件扩展中对文件的处理

作者: XMeter性能测试云服务 | 来源:发表于2017-12-05 16:55 被阅读122次

    在对JMeter进行插件扩展的时候,扩展的插件中可能会使用到文件。文件在插件使用的时候,必须可以让插件能访问到这些文件,那么如何才能使开发的插件在使用到文件的时候能够跨机器、跨操作系统呢?

    JMeter在使用文件的时候有个不成文的规定,那就是如果指定的文件名称中不带任何路径的话(相对路径),那么JMeter就会从运行的脚本所在的目录中去寻找指定的文件。

    比如JMeter中的“CSV Data Set Config”中如果指定了带路径的文件名,那么JMeter脚本在运行期间就会到指定的路径下寻找该文件;如果用户指定的不带路径的文件名,那么就会从脚本所在的目录进行寻找。后者的好处在于该脚本是跨操作系统、跨机器的,不同的用户在使用该脚本的时候避免必须建立一样的目录、文件结构(如果是跨操作系统那么就不可能实现了),只需要保证使用到的文件和脚本在同一个目录下即可,这显然比指定了绝对路径更加具有可移植性。

    那么如何在扩展JMeter插件的时候也能达到一样的效果呢?JMeter提供的org.apache.jmeter.services.FileServer提供的方法FileServer.getFileServer().getBaseDir()就能够得到脚本所在的目录。因此,如果自己的插件需要类似于“CSV Data Set Config”功能的话,代码的逻辑如下:

    String filePath = "用户指定的文件路径";

    if(filePath为绝对路径) {

     //read from absolute file path

    } else(filePath为相对路径) {

      String realPath = FileServer.getFileServer().getBaseDir() + filePath;

      //Read from realPath

    }

    通过以上的方式,让您自己开发的插件在使用文件的过程中使用方便,更加具有扩展性。

    相关文章

      网友评论

        本文标题:JMeter插件扩展中对文件的处理

        本文链接:https://www.haomeiwen.com/subject/lgucixtx.html