如何在 REST 请求中使用脚本生成的 UUID

法比奥恩

我需要测试一个场景,我需要生成一个随机 UUID,以便最近将其用作 POST 请求的 json 主体的一部分。根据我从文档中了解的内容,我的步骤如下:

  1. UUID 生成

在此处输入图像描述

  1. 像这样的属性声明

在此处输入图像描述

  1. 比以这种方式设置的财产转让:

在此处输入图像描述

现在,如果我从 GenerateGUID 运行我的步骤到属性转移,我可以看到该值已成功转移。

在此处输入图像描述

现在我需要像这样在我的 Json 中使用该属性:

在此处输入图像描述

我尝试了在互联网上找到的不同解决方案,但没有运气,我是 SoapUI 的新手,这个任务已分配给我。请任何人都可以发现我缺少的东西或可以指出正确的方向吗?

思景

恕我直言 SoapUI 文档没有明确说明的一件事是,有几种不同的方法可以完成同一件事。一些或多或少的效率。在您的情况下,我看到两个选项。

=> 选项 1

如果您只需要在一个地方使用该值,即仅在有效负载中,但您稍后在断言之类的东西中不需要它在这种情况下,您可以使用内联动态属性

在您的“CalculateObj 测试”步骤中,就在您的有效负载中,输入以下内容:

{ "guid": "${=java.util.UUID.randomUUID()}", ...other fields }

每次运行时,都会生成一个不同的 UUID。当然,您不再需要前面的三个步骤。

=> 选项 2

如果您需要在多个地方使用相同的 UUID,但每次运行测试时仍需要不同的 UUID。在这里,您可能希望将值存储为测试用例属性并使用简单的属性扩展

将“更改 GUID”脚本步骤更改为以下内容:

def Guuid = java.util.UUID.randomUUID()
testRunner.testCase.setPropertyValue('guuid', Guuid)

然后在您的“CalculateObj 测试”步骤有效负载中,输入以下内容:

{ "guid": "${#TestCase#guuid}", ...other fields }

随后,在测试用例中需要使用此值的其他任何地方,例如在断言中,您始终可以将其称为${#TestCase#guuid}. 但是每次运行测试时,值都会有所不同。

我几乎从不使用属性或属性转移步骤。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章