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

JMeter:使用CSV数据集配置将CSV文件内容读入JUnit测试用例程序

姚向晨
2023-03-14

我想将JMeter的CSV数据集配置中提到的CSV文件中的数据使用到我的JUnit测试用例程序中,并将该数据传递给测试方法。

我知道如何从 HTTP 请求的 CSV 数据集配置中获取数据,但找不到有关 JUnit 请求的任何帮助。

我的测试方法是:

public void test() throws IOException{

        try {
            CheckUser(UserId);//I want to get this UserId from CSV file mentioned in CSV Data Set Config of JMeter
        }catch (Exception e) {
            e.printStackTrace();
            fail();  
        }
}

我不熟悉JUnit和JMeter。对此,任何帮助都将不胜感激。谢了。

共有3个答案

许招
2023-03-14

总理的回答是正确的,应该有效。

通过调试采样器和查看结果树监听器组合,确保您的< code>userId变量已设置且不为空。

还请记住,JMeter Variables范围仅限于当前线程组,如果要使用其他线程组的值,则需要将JMeter变量转换为具有全局范围的JMeter属性。有关更多详细信息,请参阅编织一颗珍珠二:如何在不同的线程组中使用变量。

可以按如下方式引用属性:

JMeterContextService.getContext().getCurrentSampler().getPropertyAsString("userId") 
长孙德惠
2023-03-14

最后,我找到了解决方案,使用:

JUnitSampler junitSampler=new JUnitSampler();String UserId=junitSampler.getThreadContext().getVariables().get(“userId”);

现在我的JUnit测试用例程序正在接受CSV数据集配置中提到的CSV文件中的UserId。

感谢总理乌比克天才和德米特里T的帮助。

危飞跃
2023-03-14

您可以尝试使用:

 JMeterContextService.getContext().getVariables().get("varName") 

请参见:

>

  • https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getVariables()

    https://jmeter . Apache . org/API/org/Apache/jmeter/threads/jmeter context . html

  •  类似资料:
    • 我如何完成这个任务?

    • 我正在通过Java代码以编程方式运行JMeter,我希望生成一组具有不同主体的POST请求。下面是我用来生成一个请求的采样器: 如何用CSV文件中的值替换每个请求主体中的? 我知道GUI版本中有插件,但我还没有找到从Java代码中使用它的方法。

    • 我正在创建一个Jmeter docker容器。测试输入由CSV(数据集配置)驱动。我需要在脚本中设置什么文件名路径

    • 我试图在JMeter中加载我的CSV文件,但我一直得到下面的错误。我将文件结构设置为 c: \claimstest\claimsload.jmx C:\索赔stest\policies.csv

    • 我正在为REST API编写JMeter测试。这是一个post请求,我们需要在请求正文中发送一个大的xml内容。所以我使用CSV数据集配置来参数化身体部位中的xml内容。 我为HTTP请求采样器创建了一个CSV数据集配置。 在csv文件中,我正在编写整个xml内容。1行用于1个请求。它工作得很好。 但是我发现这有点复杂,因为我们必须在csv文件中维护大量的xml。 有没有办法在csv文件中只写入x

    • 我希望能够传递一个CSV文件,其中包含JMeter测试(CSV数据集配置)要使用的参数,而不是将CSV数据源硬编码为JMeter检测的一部分。这可能吗?我似乎在JMeter的命令行选项列表中的任何位置都找不到这一点。 JMeter 数据集配置参考。