当前位置: 首页 > 知识库问答 >
问题:

Jmeter Mail Reader Sampler“File”协议-如何从文件夹中读取消息文件(.msg)

公冶鸣
2023-03-14

文件夹中有outlook邮件文件(.msg)。我想要邮件阅读器取样器从一个文件夹读取这些邮件…

我可以复制文件路径并使用csv来读取这些消息,但是消息id是动态的,所以文件名会发生变化,所以我每次都要复制文件路径来让邮件采样器读取这些消息。是否有任何替代方案来动态读取这些消息。

我的测试计划

邮件阅读器采样器:协议:文件服务器:C:\temp\Apache JMeter\

apache Jmeter文件夹包含我的.msg文件

当我运行我的测试时,我找到了响应0消息。

共有1个答案

奚英朗
2023-03-14

所以您需要首先填充.msg文件列表(可以是动态的)并将它们发送到服务器。

  1. 获取要发送并存储到JMeter变量中的文件列表
  2. 将包含文件路径的JMeter变量传递给SMTP采样器

关于第1点,我建议通过脚本获取文件列表。

假设以下测试计划结构:

>

  • 添加线程组(全部为默认值)
  • 将Beanshell采样器添加为线程组的子级
  • 在“脚本”区域中添加以下代码:

    File folder = new File("c:/temp/JMeter");
    File [] files2send = folder.listFiles();
    
    int counter = 1;
    
    for (File file : files2send) {
        if (file.getName().endsWith(".msg")){           
    
        vars.put("FILE_" + counter, file.getPath());
        counter++;
        }
    }
    

    这将保存文件,您将作为JMeter变量发送,如:

    FILE_1=c:\temp\JMeter\something.msg
    FILE_2=c:\temp\JMeter\somethingmore.msg
    FILE_3=c:\temp\JMeter\somethingelse.msg
    

    您可能希望查看如何使用Beanshell:JMeter最喜爱的内置组件指南,以获得关于Beanshell测试元素的更详细解释和一种食谱。

    在此之后,您可以使用ForEach Controller遍历文件并将其添加到您的请求中

    为每个控制器添加线程组的子级(与Beanshell采样器级别相同

    1. 输入变量前缀:文件
    2. 输出变量名:currentfile
    3. 在检查数字之前添加_

    将SMTP采样器添加为每个控制器的子级

    访问您要在HTTP请求的“附加文件”部分中作为${CURRENTFILE}发送的文件

  •  类似资料:
    • 如何从资源文件夹的子文件夹中读取文件。 我在资源文件夹中有一些json文件,例如: 现在我想在我的课堂上读到这个 这是我正在尝试的,但是失败了。 不起作用,那么我正在尝试: 这两样东西都不工作。

    • 问题内容: 我开发了一个应用程序,可以从用户选择的文件夹中读取文件。它显示每个文件中有多少行代码。我只希望Java文件显示在文件选择器(扩展名为.java的文件)中。下面是我的代码: 我也进行了编辑,但是仍然无法正常工作,请告知请告知如何仅读取扩展名为.java的文件,换句话说,请仅从文件夹中读取java文件,请告知 问题答案: 您需要一个FilenameFilter。这应该为您工作:

    • 问题内容: 如何通过Java读取文件夹中的所有文件? 问题答案: Java 8提供了Files.walk API。

    • 分析网站访问日志应该是一个运维工程师最常见的工作了。所以我们先学习一下怎么用 logstash 来处理日志文件。 Logstash 使用一个名叫 FileWatch 的 Ruby Gem 库来监听文件变化。这个库支持 glob 展开文件路径,而且会记录一个叫 .sincedb 的数据库文件来跟踪被监听的日志文件的当前读取位置。所以,不要担心 logstash 会漏过你的数据。 sincedb 文件

    • 如何使用URI从资源文件夹的子文件夹中读取文件 资源文件夹中有一些json文件,如: 现在我想在我的课堂上读这个 这是我正在尝试的。 我的东西工作正常,但我遇到的问题是我不想使用< code>toURI,因为它会失败。

    • 问题内容: 我想使用php阅读列表,列出网页文件夹中的文件名。有没有简单的脚本可以实现? 问题答案: 最简单,最有趣的方式(imo)是glob 但是标准方法是使用目录功能。 还有SPL DirectoryIterator方法 。如果你感兴趣