2010-02-11 118 views
4

我有一个J2EE应用程序,需要一些广泛的集成测试。我使用Jmeter来生成HTTP POST请求。到目前为止,我设法将它们正确地发送到服务器,但xml是静态的。
我正在寻找一种方法将动态/随机值插入到XML中,然后将其发送到服务器。像预处理器一样,但我不知道它是如何完成的。Jmeter - 生成xml

任何人都可以提供:
1. JMeter教程?
2.如何生成动态/随机XML内容到HTTP请求
3. JMeter的例子

非常感谢,
迦底。

回答

1

JMeter指南强烈建议使用预先生成的数据以获得良好的性能和准确性。

该任务可以通过CSV数据集配置组件(Best Practices,第16.5节)完成。主要思想是生成一个大的测试数据集,将其保存到文本文件中,然后在请求模板中使用参数(每个请求的CSV文件行)。如果他/她愿意,可以将整个请求作为一个唯一的参数。

请注意的是,JMeter的2.3.4(最新版本ATM)有一些限制:

  • 它不理解多值(尽管这样的人通过CSV标准本身支持),所以逃逸可能需要;
  • 它不理解列名,所以可以仅通过列位置关联变量(不幸的是不能通过逻辑名)。

感谢, 马克西姆

+0

非常感谢马克西姆找到BADBOY更多信息。 有哪些工具可用于从建议的csv文件中生成XML? 可以说我有10个不同的参数插入到XML中,我可以从CSV文件中读取它们。 非常感谢。 – Gadi 2010-03-07 04:27:00

+0

不客气,加迪。我想,一旦你需要发送一个XML,那么将使用一些SOAP/XML-RPC采样器。在这种情况下,您只需将带有参数的模板放入SOAP-XML-RPC数据字段即可。 $ {} paramFirst 如果你使用普通HTTP的限制,那么XML将被发送到一个GET/POST帕拉姆,对吗?然后只需将params添加到您的HTTP请求采样器。 干杯。 – 2010-03-09 08:23:25

1

可以插入动态的或随机的数据转换成XML使用__Random和嵌套在XML __char功能。

因此,每次发布xml时,值都是随机的。

基本上,只需定义您的xml结构并使用嵌套在对方中的__random和__char函数来随机创建任意随机文本/数字。 然后使用__time函数生成日期/时间数据。

0

测试网络应用程序的另一种方法是使用像Badboy这样的自动录制工具来记录您想要使用Web应用程序测试的步骤。然后,您可以将相同的脚本传递给Jmeter以进行测试。

您还可以将不同的值传递给脚本中的参数以测试不同的场景。 对于eg.Your应用程序正在使用用户名/密码字段的“登录页面”。然后,您可以在1)有效和2)无效登录凭证的情况下记录脚本。

然后在测试过程中,您可以通过CSV传递不同的值,或者通过直接在录制的脚本中修改一些值 。

您可以在http://www.badboy.com.au/