我想在SOAPUI中进行数据驱动测试。因此,我正在尝试从excel文件中将数据提供给脚本。在某种程度上,我是成功的。我使用groovy脚本更新了所有测试脚本。
但是,存在一个挑战,对于某些测试用例,我不想为几个标签提供数据。当我把它留空时我的服务器抛出错误。这意味着标签应该有一个值或标签被排除,因为标签本身是可选的。
如果其他兄弟没有任何价值,是否有办法排除标签,所有子标记,甚至是父标记。
换句话说,我想只启用有价值或必须的标签。应该评论所有其他标签。
如何使用groovy脚本实现这一目标?
示例:
<Record>
<Employee>
<Name>Alfa</Name>
<Age>28</Age>
</Employee>
<Location>
<LocName></LocName>
<State></State>
</Location>
</Record>
在此代码中,Employee标记包含信息。但位置标签不是。 如果我为标签LocName和State传递空值,我的服务器将抛出错误。但是标签位置本身是可选的。 所以我希望我的请求像这样
<Record>
<Employee>
<Name>Alfa</Name>
<Age>28</Age>
</Employee>
<!--Location>
<LocName></LocName>
<State></State>
</Location-->
</Record>
如何解决这个问题?
答案 0 :(得分:0)
您可以使用context.expand函数。
在您的请求中,您需要使用$ {= context.expand(&#34;变量#1&#34;)添加您的行!=&#39;&#39;?&#39;要添加的内容&# 39;:&#39;&#39;}
示例: DataSource#J1和DataSource#J2来自我的数据源测试步骤
${=context.expand("${DataSource#J1}")!=''?'<rxas:OpeningHour>':''}
${=context.expand("${DataSource#J1}")!=''?'<rxas:HourFrom>'+context.expand("${DataSource#J1}")+'</rxas:HourFrom>':''}
${=context.expand("${DataSource#J2}")!=''?'<rxas:HourTo>'+context.expand("${DataSource#J2}")+'</rxas:HourTo>':''}
${=context.expand("${DataSource#J1}")!=''?'</rxas:OpeningHour>':''}
如果你的变量是空的!=&#39; &#39;值?&#39;示例&#39;将不会被添加