2012-05-23 50 views
0

我有一個soapUI測試步驟,在我的數據庫中創建一個對象。 XML響應,我回去載我需要在下一步中引用一個節點,即我需要鑰匙後的值「GUID」如何在步驟1中將XML響應節點的值分配給soapUI中步驟2中的屬性?

<flex.messaging.io.amf.ASObject serialization="custom"> 
    <unserializable-parents/> 
    <map> 
    <default> 
     <loadFactor>0.75</loadFactor> 
     <threshold>48</threshold> 
    </default> 
    <int>64</int> 
    <int>28</int> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <object-array/> 
    <string>key</string> 
    <flex.messaging.io.amf.ASObject serialization="custom"> 
     <unserializable-parents/> 
     <map> 
     <default> 
      <loadFactor>0.75</loadFactor> 
      <threshold>12</threshold> 
     </default> 
     <int>16</int> 
     <int>3</int> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     </map> 
     <flex.messaging.io.amf.ASObject> 
     <default> 
      <inHashCode>false</inHashCode> 
      <inToString>false</inToString> 
      <namedType>package/class</namedType> 
     </default> 
     </flex.messaging.io.amf.ASObject> 
    </flex.messaging.io.amf.ASObject> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <boolean>value</boolean> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <flex.messaging.io.amf.ASObject serialization="custom"> 
     <unserializable-parents/> 
     <map> 
     <default> 
      <loadFactor>0.75</loadFactor> 
      <threshold>12</threshold> 
     </default> 
     <int>16</int> 
     <int>5</int> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     <string>key</string> 
     <boolean>value</boolean> 
     </map> 
     <flex.messaging.io.amf.ASObject> 
     <default> 
      <inHashCode>false</inHashCode> 
      <inToString>false</inToString> 
      <namedType>package/class</namedType> 
     </default> 
     </flex.messaging.io.amf.ASObject> 
    </flex.messaging.io.amf.ASObject> 
    <string>guid</string> 
    <string>818f40db-c217-46ed-a6a2-7c830d894a95</string> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <string>value</string> 
    <string>key</string> 
    <null/> 
    <string>key</string> 
    <null/> 
    </map> 
    <flex.messaging.io.amf.ASObject> 
    <default> 
     <inHashCode>false</inHashCode> 
     <inToString>false</inToString> 
     <namedType>package/class</namedType> 
    </default> 
    </flex.messaging.io.amf.ASObject> 
</flex.messaging.io.amf.ASObject> 

我已經看到了關於這個主題的各種問題,但似乎沒有爲我工作,我相信由於我的錯誤理解SOAPUI期望的相應語法。

如果測試步驟的一個被稱爲 '的StepOne',我需要引用XML響應在 'stepTwo', 爲什麼:

高清TEMP = context.expand(「$ {#的StepOne響應//地圖[1]/string [27]}');

...不工作。我假設我錯誤地引用了回覆。我甚至可以在下一步中找到一種方法來引用整個響應。然後,我可以通過它進行搜索並使用groovy查找我需要的值。

我應該嘗試物業轉移嗎?如果是這樣,源將是stepOne和響應將是ResponseAsXml,目標將是stepTwo但我真的不想將整個XML分配給一個屬性,我想分配JUST我需要的節點(地圖[1] /串[27])。

@ Sebi-是的,我已經試過了,我已經瀏覽過無數次了。我可以將整個響應傳遞給一個TestCase級別的臨時屬性,但我似乎無法構建代碼以正確引用腳本窗口中的該屬性...這就是我現在的'def temp = $ {#TestCaseName# tempProperty}「,但這不起作用。我想把整個XML帶入,這樣我就可以處理我需要的節點並不總是「地圖」中的第27個「字符串」的情況。我在聲明命名空間時也遇到了麻煩(請參閱xml結構)如果您可以根據這些方法中包含的XML給出一個實際示例,我會非常滿意,但我已經完全瞭解了soapUI教程。

回答

0

是的,我們的Property Transfer TestStep取而代之!

,但我真的不希望將整個XML分配給屬性,我想分配只是節點,我需要

下面你有一個輸入框的源選擇框。您可以在其中編寫要傳輸的節點的XPath表達式。

你可以找到一個很好的教程在這裏: http://www.soapui.org/Functional-Testing/transfering-property-values.html

+0

,請看到我的編輯。 –

+0

結束使用整個響應的屬性傳輸並搜索腳本所需的值。我知道一點點,但是,嘿,無論什麼作品,對吧? –

相關問題