2012-08-13 43 views
1

我对Jmeter很新。我需要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的&持续集成)的预期。

我如何分析给定的文件,并验证预期的结果?

我曾尝试以下:

  • __StringFromFile - 但我不知道如何寻找具有请求数据或预期结果的行;
  • userParameter - 但不知道如何在运行时传递值。

可以在任何你帮帮我吗?

+0

[得到的答案?](http://stackoverflow.com/faq#howtoask) – 2012-08-16 16:40:46

回答

1

你有每个文件的单测试用例(即单一的外观“测试案例名称”,...等。文件)?

如果是这样,那么你才能尝试使用自定义插件Variables From CSV FileJmeter Plugins项目。

+0

真的非常感谢您寻找到。但是我的文本文件中没有测试用例。有没有一种方法可以找到以文本文件中的“Test Case Name”开头的行? – 2012-08-13 20:01:34

+1

可以,例如,写关于java/BeanShell的自己的解析器和[BeanShell的采样(http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_Sampler)/ [预处理器(HTTP使用它:// jmeter.apache.org/usermanual/component_reference.html#BeanShell_PreProcessor)/ [PostProcessor](http://jmeter.apache.org/usermanual/component_reference.html#BeanShell_PostProcessor)。但是这些与jmeter的内置功能相差甚远。 – 2012-08-14 07:47:56

+1

在我的愚见中,更好的解决方案是1.对每个测试用例描述使用单独的文件:因此每个条目在文件中都是唯一的,您可以使用变量从CSV文件插件并处理所有文件 - 循环中的测试用例;或2.对所有测试用例使用单个文件,但将其格式更改为csv,例如, “TestCaseNameValue,RequestDataValue,ExpectedResultValue”每个字符串 - 因此您可以在While Controller下使用[CSV数据集配置](http://jmeter.apache.org/usermanual/component_reference.html#CSV_Data_Set_Config)来读取并提取所有条目直到EOF。 – 2012-08-14 07:55:24

1

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

Test Case Name|Request Data|Expected Result 
XXXXXX11|AAAAAAAAAA11|BBBBBBBBB11 
XXXXXX22|AAAAAAAAAA22|BBBBBBBBB22 

您可以使用CSV数据集配置您的测试计划加载此数据。一旦你这样做了,如果你将线程组设置为永远循环,你将能够遍历每一行数据。然后,您需要在测试用例中执行的操作是从csv文件中引用变量,如下所示: ${Test Case Name}

0

非常感谢你们! 我刚刚写了一个bean shell脚本来解析CSV文件,并将所有请求&响应存储在数组中,然后为我的http采样器周围的每个循环创建一个。这符合我的要求。

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 
+1

我不确定这是最好的解决方案,因为它在内存中存储很多数据,随着测试用例的增加,这种数据会增加。它还重新编写了jmeter本地的行为(csv解析)。还有一点,你不应该通过一些投票来奖励那些让你找到解决方案的答案。 – 2012-08-17 20:43:46

+0

我投了Alies Belik的答复 – 2012-08-29 17:05:06