我正在尝试使用SOAPUI
向 REST API 发送请求。有没有办法使用变量?
例如,如果发布请求看起来像这样
{
"eventType": "check",
"emailAddress": "email@emailtesting.com",
"source": "mobile",
"customerSegment": "gold",
"custId": "1111111111"
}
我可以使用变量而不是值gold吗?
我正在尝试使用SOAPUI
向 REST API 发送请求。有没有办法使用变量?
例如,如果发布请求看起来像这样
{
"eventType": "check",
"emailAddress": "email@emailtesting.com",
"source": "mobile",
"customerSegment": "gold",
"custId": "1111111111"
}
我可以使用变量而不是值gold吗?
SoapUI 支持一种称为“属性”的东西,它本质上是您要求的变量。在设置属性后,无论是手动还是通过 Groovy 脚本,属性都可以包含在您的各个测试步骤中。SoapUI 会将属性引用扩展为属性值。属性引用如下所示:${property_name}。
Property: CustSegment = Gold
{ "eventType": "check",
"emailAddress": "email@emailtesting.com",
"source": "mobile",
"customerSegment": "${CustSegment}",
"custId": "1111111111" }
从 SoapUI 论坛得到答案:
取决于“变量属于哪里” - 您选择一个范围,例如。TestCase 范围内的 custId(我相信它类似于 customerID),如果您需要在所有测试步骤中可见的 custId
让我们看一下 TestCase 范围的示例 - 您转到 soapui 中的自定义属性选项卡(左下角),在那里创建一个您需要的属性(变量)=“custId”,值为“1111”。然后在所有测试步骤中都可以访问此变量:
{ "eventType": "check", "emailAddress": "email@emailtesting.com", "source": "mobile", "customerSegment": "gold", "custId": "${#TestCase#custId}" [-> will expand to 1111] }
如上所述,您可以使用脚本属性和数据源。
数据源是我的首选,因为您可以构建数据驱动的测试,但不能在免费版本中。
您还可以创建一个可以返回 const 或计算值的 Groovey 步骤,然后如上所述在您的请求中访问该值。
您也可以从 excel 文件等数据源中获取它。例如,如果您想获取 excel 的 CustId 列,您可以使用以下内容:
{
"eventType": "check",
"emailAddress": "email@emailtesting.com",
"source": "mobile",
"customerSegment": "gold",
"custId": $(DataSource#CustId)
}