Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jmeter参数化_Jmeter_Text Files - Fatal编程技术网

Jmeter参数化

Jmeter参数化,jmeter,text-files,Jmeter,Text Files,我对Jmeter很陌生。我需要有关jmeter输入数据文件的帮助。 这是我的情况。 我的测试数据文件结构如下: Test Case Name = XXXXXX11 RequestData = AAAAAAAAAA11 Expected Result = BBBBBBBBB11 Test Case Name = XXXXXX22 RequestData = AAAAAAAAAA22 Expected Result = BBBBBBBBB22 and so on .... 现在,我必须发送ht

我对Jmeter很陌生。我需要有关jmeter输入数据文件的帮助。
这是我的情况。
我的测试数据文件结构如下:

Test Case Name = XXXXXX11
RequestData =  AAAAAAAAAA11
Expected Result = BBBBBBBBB11
Test Case Name = XXXXXX22
RequestData =  AAAAAAAAAA22
Expected Result = BBBBBBBBB22
and so on ....
现在,我必须发送http请求,并使用Jmeter(Maven&Continuous Integration)验证预期结果

如何解析给定文件并验证预期结果

我尝试了以下方法:

  • __StringFromFile-但我不知道如何查找包含请求数据或预期结果的行
  • userParameter-但不确定如何在运行时传递值

你们中有谁能帮我吗?

每个文件是否有一个测试用例(即文件中“测试用例名称”和…,等等的单个外观)


如果是这样的话,您可以尝试使用project中的自定义插件。

我的建议是将您的文件转换为csv(使用您喜欢的任何分隔符)。第一行成为您的标题,每一行都成为您要传递或验证的数据。例如:

Test Case Name|Request Data|Expected Result
XXXXXX11|AAAAAAAAAA11|BBBBBBBBB11
XXXXXX22|AAAAAAAAAA22|BBBBBBBBB22
您可以使用CSV数据集配置将此数据加载到测试计划中。一旦这样做了,如果将线程组设置为“永远循环”,就可以循环每一行数据。然后,在测试用例中需要做的就是从csv文件中引用变量,如下所示:
${testcase Name}

非常感谢大家! 我只是编写了一个BeanShell脚本来解析CSV文件,并将所有请求和响应存储在数组中,然后围绕http采样器创建了一个for-each循环。这符合我的要求

    Thread Group
      Beanshell preprocessr (To parse my CSV and to store it in an array)
      For each loop (loops thru the array)
        http sample
        response assertion
        Results

真的非常感谢你的调查。但是,我的文本文件中没有测试用例。有没有办法在文本文件中找到以“testcasename”开头的行?例如,您可以在java/beanshell上编写自己的解析器,并从//使用它。但这些都与jmeter的内置功能相去甚远。每个测试用例描述使用单独的文件:所以每个条目在文件中都是唯一的,您可以使用CSV文件插件中的变量,并在循环中处理所有的测试用例文件;或2。对所有测试用例使用单个文件,但将其格式更改为csv,例如每个字符串的“TestCaseNameValue、RequestDataValue、ExpectedResultValue”-因此您可以在While Controller下使用,以读取和提取所有条目,直到EOF。我不确定这是最佳解决方案,因为它在内存中存储了大量数据,这将随着测试用例的增加而增加。它还记录jmeter固有的行为(csv解析)。还有一点,你不应该通过投票来奖励那些引导你找到这个解决方案的答案吗。