我正在尝试使用SOAPUI(4.0)进行负载测试,我希望每个SOAP请求都不同,请求中的一些属性值和元素值从(例如)文本文件中填充。
每个请求的SOAP消息都是相同的,除了几个属性值和元素值。
SOAP消息包含无符号SAML断言,并且具有一些需要针对每个SOAP请求可能不同的属性。在这些属性中,有一个名为“IssueInstant”,它基本上是一个日期/时间戳字符串,以及一个“Id”属性,它是每个请求的唯一字符串。
理想情况下,我希望能够从文本文件中填充“Id”属性值。
我已经能够在SOAPUI中自动填充IssueInstant,通过包含一小段Groovy代码来获取当前日期/时间,重新格式化它,然后将其存储在属性中。这个Groovy代码位于SOAPUI测试用例的启动脚本中。
在SOAP消息的正文中,我有一个我想要从文本文件中填充的Subject元素。
填充IssueInstant,Id和Subject之后,我希望SOAPUI发送请求。
因此,例如,假设文本文件有:
id0001,cn=foo1,dc=whatever,dc=com
id0002,cn=foo2,dc=whatever,dc=com
id0003,cn=foo3,dc=whatever,dc=com
然后,当我运行SOAPUI负载测试时,我希望第一个请求包含Id=id0001
和主题cn=foo1,dc=whatever,dc=com
,第二个请求包含Id=id0002
和主题{{1 ,以及第三个请求cn=foo2,dc=whatever,dc=com
和主题Id=id0003
,然后负载测试循环回到这3组值,直到它结束。
我很难理解的是如何逐步浏览Groovy代码中的文件以及Groovy代码如何知道文本文件中的哪一行是构建属性的下一行?
我希望对我正在寻找的内容的这种解释是清楚的。如果没有,请告诉我,我希望有人可以提供帮助。
答案 0 :(得分:0)
在soapUI Pro中存在所谓的DataSource
和DataSource Loop
测试步骤。它们用于循环遍历一组测试数据。例如,文本文件。如果您有能力使用soapUI Pro,我建议您查看:http://soapui.org/Data-Driven-Testing/functional-tests.html
否则你必须通过groovy加载文件。
如何在Groovy代码中单步执行文件
我相信您会通过Google找到一些代码段。
Groovy代码如何知道文本文件中的哪一行是构建属性的下一行
创建一个初始值为1的测试用例属性。读取一行后,总是将值递增1.通过在groovy代码中读取此属性,您始终知道要读取哪一行。