gpt4 book ai didi

json - 使用 Groovy 脚本在 SoapUI 中生成动态 JSON 请求正文并将其传递给 POST API 请求

转载 作者:行者123 更新时间:2023-12-04 23:07:26 25 4
gpt4 key购买 nike

我正在尝试使用 SOAP UI 为 API 自动化生成动态 JSON 请求正文。我正在使用 groovy 脚本来做同样的事情。我无法在请求中将动态生成的属性值传递给我的 JSON 正文。有人可以帮忙吗?

我的 Groovy 脚本

import java.util.Random

//generating random values
Random rand = new Random()
String brandName = "BrandName" + rand.nextInt(100000)
String pageTitle = "BrandPageTitle" + rand.nextInt(100000)

//setting test case properties
testRunner.testCase.setPropertyValue("name", brandName);
testRunner.testCase.setPropertyValue("page_title", pageTitle);

这是我的 POST 请求的 JSON 正文。我不确定我访问以下 JSON 中的变量的方式是否正确

{
"name": "${brandName}",
"page_title": "${pageTitle}"
}

我也试过这个。 'POSTCreateNewBrand' 是我的 TestCase 名称,'name' 是 property_name

{
"name": "${#POSTCreateNewBrand#name}",
"page_title": "${#POSTCreateNewBrand#page_title}"
}

当我运行测试时,我看到名称字段没有作为请求正文的一部分提供,并看到以下错误

<errors>
<error>
<status>400</status>
<message>The required field 'name' was not supplied.</message>
</error>
</errors>

最佳答案

要在 TestCase 级别使用属性,不必使用 TestCase 名称,而是直接使用 #TestCase# 常量,后跟您的属性名称如下:

{
"name": "${#TestCase#name}",
"page_title": "${#TestCase#page_title}"
}

另外同样适用于ProjectTestSuite等; TestStep 级别的名称,来自 SOAPUI documentation :

#Project# - references a Project property(Reference properties across a particular SoapUI project)

#TestSuite# - references a TestSuite property in the containing TestSuite

#TestCase# - references a TestCase property in the containing TestCase

#MockService# - references a MockService property in the containing MockService

#Global# - references a global property. Found in File>Preferences>Global Properties tab. Reference properties across all projects

#System# - references a system property. Found in Help>System properties.

#Env# - references an environment variable

[TestStep name]# - references a TestStep property

希望这会有所帮助,

关于json - 使用 Groovy 脚本在 SoapUI 中生成动态 JSON 请求正文并将其传递给 POST API 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29269497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com