我需要循环一个字符串(用','分隔),并自动将每个元素传递到特征文件。我知道对json数组数据驱动测试有很好的支持,但是它是否支持使用普通字符串或字符串数组进行数据驱动
据我所知,我需要将其转换为json数组以在运行时支持数据驱动的测试,但是,我想知道直接和自动存在的对常规数组循环的任何现有支持。
这是我的字符串(以“,”分隔),需要作为请求参数传递:
"PHE,TSH,17_a_OHP,G6PD,MSMS,THALASSEMIA,DGT"
因为我的字符串是在运行时动态生成的,所以我想自动循环它并传递给其他功能文件,而不是手动传递,
答案 0 :(得分:1)
请注意,converting arrays into other "shapes"在空手道中很容易。在0.9.3中,我们引入了karate.mapWithKey()
API,因此您可以执行以下操作:
* def string = 'PHE,TSH,17_a_OHP,G6PD,MSMS,THALASSEMIA,DGT'
* def array = string.split(',')
* def list = karate.mapWithKey(array, 'name')
* print list
因此您可以看到list
已准备好用于数据驱动功能。另外请注意,您可以在dynamic scenario outlines中使用它!