我有一个要测试的服务API,它返回不同国家/地区的各种参数的默认值。国家/地区代码是服务的模板参数。即。
http://${hostname}:${port}/country/${countryCode}
我可以使用的国家代码之一是“ALL”(其他为“IN”,“US”,“UK”,“MX”......),它们将返回API支持的所有国家/地区响应也将包含国家/地区代码。 因此,我能够填充我需要测试的所有国家代码。 groovy scipt
import groovy.json.JsonSlurper
def slurper = new JsonSlurper()
def result = slurper.parseText(prev.getResponseDataAsString())
assert prev.isResponseCodeOK()
def countries = result.country
assert countries instanceof List // Should get as [IN, US, UK, MX] for e.g.
def numOfCountries = countries.size()
我正在尝试使用变量“countries”,它是我在ForEachController中测试服务所需的所有国家/地区的列表。为此,我将需要格式为
的UDV名称country_1 , country_2 , country_3 ...
如何将列表元素保存到具有该名称格式的UDV。问题是我不知道或者不能假设支持了多少个国家,所以UDV不能提前命名。
能做到吗?我是否正确地解决了这个问题?任何不同的方法都是受欢迎的。
由于
答案 0 :(得分:0)
我对groovy并不熟悉,但这里有:
您拥有国家/地区列表 - 您可以在脚本中获得该列表。如果您创建for循环(在groovy脚本中),您可以动态创建变量名称("country_" + [loop iterator]
)并将其插入vars.put()
。
所以:
for(int x=0; x < v.size(); x++)
{
String country_name = "country_" + x;
vars.put(country_name, v[x]);
}