将切槽脚本结果转换为测试用例

时间:2018-03-21 08:51:11

标签: groovy soapui

我从一个标签中获取数据,然后使用111 22222并使用空格进行拆分 像111和22222。

我想将值转换为两个不同的标签到不同的请求中 让我们说

111表示Tag1,22222表示Tag2

2 个答案:

答案 0 :(得分:0)

如果您已经为变量分配了两个不同的值,则可以执行以下操作

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

//get field value from first test step response
def tagOne = 111
def tagTwo = 22222

//Define request you would like to add data to
def holderRequestOne = groovyUtils.getXmlHolder("RequestOneName#Request")
def holderRequestTwo = groovyUtils.getXmlHolder("RequestTwoame#Request")

//Find the fields in the request and set the value you would like in those fields 
holderRequestOne.setNodeValue("//XPath","$tagOne")
holderRequestTwo.setNodeValue("//XPath","$tagTwo")

//Update the requests
holderRequestOne.updateProperty()
holderRequestTwo.updateProperty()

这是我使用Groovy脚本的方式。您只需要添加受尊重的XPath和测试步骤名称。

您也可以使用属性转移测试步骤执行此操作。您可以在此处找到更多信息:

https://www.soapui.org/docs/functional-testing/properties/transferring-properties.html

关于你问题的更多信息,你尝试过的代码以及你预期的代码结果不会出错#/ p>

答案 1 :(得分:0)

@Tanveer根据您对Ross的评论答案这里是解决方案

您已获取响应为111 222

log.info Response  // 111 222
String [] s = s.split(" ") 
log.info s[0] //111 
log.info s[1] //222 

将值保存在groovy脚本的testCase属性中

 testRunner.testCase.setPropertyValue("tagone",s[0])
 testRunner.testCase.setPropertyValue("tagtwo",s[1])

在另一个要使用此

的testStep请求中
<xmltag1>${#TestCase#tagone}</xmltag1>
<xmltag1>${#TestCase#tagtwo}</xmltag1>

因此我们将属性存储在TestCase级别,并在同一个Testcase的另一个步骤中使用它

如果您希望在另一个测试用例中使用该属性,您可以存储在TestSuite级别

 testRunner.testCase.testSuite.setPropertyValue("tagone",s[0])