Xml 如何在soapUI中将属性作为字符串参数嵌入

Xml 如何在soapUI中将属性作为字符串参数嵌入,xml,soapui,Xml,Soapui,我最近开始使用soapui来测试web服务和一些相当新的功能。我想知道如何将属性值作为字符串嵌入请求中。例如,请求如下所示 <org:Customer org1:Description="customer" org1:DisplayName="google" org1:Name="google"/> 基本上我想做这样的事情 <org:Customer org1:Description=${#Project#orgdesc} org1:DisplayName=$

我最近开始使用soapui来测试web服务和一些相当新的功能。我想知道如何将属性值作为字符串嵌入请求中。例如,请求如下所示

<org:Customer org1:Description="customer" org1:DisplayName="google" 
org1:Name="google"/>

基本上我想做这样的事情

<org:Customer org1:Description=${#Project#orgdesc}     
org1:DisplayName=${#Project#orgdisplayname}        
org1:Name=${#Project#orgdisplayname}/>

我在项目级别为上面的所有字段定义了属性,用于参数化测试。我正在尝试在请求中嵌入这些属性。我试着做一些事情,但都不管用。有人能告诉我我错过了什么吗

编辑#1

  <org:Customer> 
         <arg0>
            <org1:Description>${#Project#orgdesc}</org1:Description>
            <org1:DisplayName>${#Project#orgdisplayname}</org1:DisplayName>
            <org1:Name>${#Project#orgname}</org1:Name>
         </arg0>
  </org:Customer>
我认为我做的事情不对。因为在上面的原始请求中,Description、DisplayName和Name是Customer的属性,我将它们作为下面的子节点发送请求。这似乎根本不正确。那个么如何将我定义的属性值嵌入到标记的属性中呢

尝试1

  <org:Customer> 
         <arg0>
            <org1:Description>${#Project#orgdesc}</org1:Description>
            <org1:DisplayName>${#Project#orgdisplayname}</org1:DisplayName>
            <org1:Name>${#Project#orgname}</org1:Name>
         </arg0>
  </org:Customer>

${#项目#orgdesc}
${#项目#orgdisplayname}
${#项目#组织名称}
尝试2

 <org:Customer> 
             <org1:Description>
              <arg0>${#Project#orgdesc}</arg0>
             </org1:Description> 
             <org1:DisplayName>
               <arg0>${#Project#orgdisplayname}</arg0>
             </org1:DisplayName>
             <org1:Name>
               <arg0>${#Project#orgname}</arg0>
             </org1:Name>
     </org:Customer>

${#项目#orgdesc}
${#项目#orgdisplayname}
${#项目#组织名称}

我敢肯定,您的“#”符号太多了

我认为“属性扩展”语法正是您所需要的。比如:

def postResp=context.expand(“${PostObject#response}”)

这来自groovy脚本,但我认为groovy在发送消息模板之前应用于消息模板,因此:

${Project#orgname}

这可能是你需要的

编辑

在这种情况下,请尝试从groovy中设置一个“lower scope”变量,并在消息中使用它。做一些类似于:

def city=context.expand(“${#Project#city}”)

context.setProperty(“城市”,城市)

然后在XML中,放入:

${city}

以下是XML请求的一部分:

  <data:address>
     <data:street>${street}</data:street>
     <data:city>${city}</data:city>
     <data:state>${state}</data:state>
     <data:zipCode>${zip}</data:zipCode>
     <data:country>${country}</data:country>
  </data:address>

${street}
${city}
${state}
${zip}
${country}

我认为我使用的语法对于项目级属性是正确的,因为def name=context.expand(“${{Project}orgname}”)返回我定义的orgname感谢更新的答案。我确实添加了一个groovy脚本,就像您建议的那样,作为teststep中的groovy步骤。然后我尝试了org1:Name=${org},这显然不起作用,因为请求中需要引号。我还尝试插入groovy步骤的结果,比如org1:Name=${getOrgName#result},但这也不起作用。您能给我一个您正在使用的xml请求示例吗?像这样的东西是获得pro版本的一个重要原因