soapui - 将XML字符串分配给变量 - groovy脚本

时间:2015-03-31 10:15:17

标签: xml groovy soapui

我不得不将一些JMeter性能测试转换为soapui(使用groovy脚本),我有一个关于在XML字符串中保留回车的快速问题,如果可以的话。

很少有人问这个,但我不是编码员 - 因此我的困惑。

在我的JMeter脚本中,它说明了

String FinalXML=
"<someXMLheader>\n"+
    "<someXMLcontent>\n"+
    "</someXMLcontent>\n"+
"</someXMLheader>";

vars.put("FinalXML1", FinalXML)

我已经完成了一些关于做等效的阅读,我相信它正在为一个变量分配一个字符串(就像我说 - 我不是编码器!),所以我怀疑我的groovy脚本会出现如下所示:

def FinalXML1 = "<someXMLheader>
                     <someXMLcontent>
                     </someXMLcontent>
                </someXMLheader>"

正如你所看到的,我已经删除了每一行的引号以及回车符'\ n“+'(与JMeter beanshell脚本相比),但我想知道这是否正确,而且,

  1. XML字符串是否需要在一行上?
  2. 如何保留XML元素之间的回车符(空格)?
  3. 如上所述,我不是一个编码器,这就是为什么我要问这样一个简单的问题。

    非常感谢任何回应的人......

1 个答案:

答案 0 :(得分:0)

首先回答你的Groovy问题:要在Groovy中创建一个包含特殊字符的字符串,例如换行符,你需要将其括在tripple-quotes中,如下所示:

def FinalXML1 = """<someXMLheader>
                     <someXMLcontent>
                     </someXMLcontent>
                </someXMLheader>"""

非常基本的Google搜索会将that向上翻转!

您的XML问题的第二个:这取决于!大多数XML解析器将剥离空白,有些则不会。对于文字字符串,它又是不同的。请注意,在上面的示例中,节点<someXMLcontent>不仅具有换行符,而且换行符后面还跟有21个空格字符。在您的系统上试一试,看看会发生什么。

另请注意,这些都不是特定于SoapUI的。