2017-10-04 192 views
1

通过以下脚本,我可以将数据/有效内容发送到我的POST请求。但是,值得注意的是从脚本运行发布请求。在循环中需要发布请求。如何使用Groovy脚本在SOAPUI中触发REST请求测试步骤

def POSTForgivness = testRunner 
    .testCase 
    .getTestStepByName("postforgivness") 
    .getT‌​estRequest() 
POSTForgivness.setRequestContent(ForgivnessPayload) 

从评论其他信息:

  • 在每次循环我有POST请求不同的数据
  • 无法加载测试,但与不同的输入数据POST请求
  • 已经得到了一些900 +记录,能够读取和发送数据到发布请求,但发布请求在循环之后不会触发/运行。
+0

//为JSON文件中的每条记录调用POST Forgivness API。 def POSTForgivness = testRunner.testCase.getTestStepByName(“postforgivness”)。getTestRequest() POSTForgivness.setRequestContent(ForgivnessPayload)} –

+0

请您编辑问题并解决这些问题吗? 1.每次请求有没有变化? 2.你想加载测试吗?你可以更多地解释你的用例。 – Rao

+0

1.是的,每次在循环中我有不同的数据发送请求 –

回答

1

在这里你去:须藤代码

  1. 得到测试步骤按名称
  2. 设置为下一步
  3. 运行步骤
  4. 需要禁用其余的步骤中的每一件事情了新的要求由step1控制(这是groovy脚本步骤)
//Get the next step 
def nextStep = context.testCase.getTestStepByName("postforgivness") 
//Set the new request 
nextStep.httpRequest.requestContent = ForgivnessPayload 
//run next step 
nextStep.run(testRunner, context) 

通过上面的代码循环直到完成数据

+0

非常感谢饶,它的工作完美 –

0

需要在循环中发送请求。

这听起来像一个数据驱动的测试,而不是负载测试。

在“数据源”步骤和“数据源循环”步骤之间放置您的Post-forgiveness请求。

然后,您可以在数据源步骤中设置行的次数'循环'您的后宽恕步骤的次数。对于您设置的每一行,您都可以定义有效载荷以“喷”到您的请求中。

在SoapUI网站https://www.soapui.org/data-driven-tests/functional-tests.html上有优秀的文章。

+0

谢谢克里斯:我的数据源是一个json文件,我有从MySQL数据库使用数据源的经验,但从未使用JSON文件的数据源,所以我写了一个脚本来阅读json文件。我想找到一种方法来触发从脚本 –

+0

的其余请求OK,看在SoapUI,有几个有效的数据源输入,但没有一个用于JSON。你能否创建一个电子表格,以便每行包含来自文件中一个JSON对象的数据?如果是这样,使用起来非常简单,因此您可以在电子表格中为每行调用您的测试请求。 –

相关问题