2013-03-22 45 views
1

我想在SOAPUI中執行數據驅動的測試。因此,我試圖從Excel文件中將數據提供給腳本。在某種程度上,我是成功的。我使用groovy腳本更新了所有測試腳本。SOAPUI評論請求中的不需要的標記

但是,對於某些測試案例,我不想爲幾個標籤提供數據,這是一個挑戰。當我將其保留爲空時,我的服務器會引發錯誤。這意味着標籤應該有一個值或標籤被排除,因爲標籤本身是可選的。

如果沒有其他兄弟姐妹有任何價值,是否有排除標籤,它的所有孩子甚至父母的方法。

換句話說,我希望只啓用具有價值或強制性的標籤。所有其他標籤都應該註釋。

如何使用groovy腳本來實現這一點?

實施例:

<Record> 
    <Employee> 
     <Name>Alfa</Name> 
     <Age>28</Age> 
    </Employee> 
    <Location> 
     <LocName></LocName> 
     <State></State> 
    </Location> 
</Record> 

在此代碼,僱員標籤具有的信息。但是位置標記不是。 如果我爲標記LocName和State傳遞空值,我的服務器將拋出錯誤。但是標籤位置本身是可選的。 所以我想我的要求是這樣

<Record> 
    <Employee> 
     <Name>Alfa</Name> 
     <Age>28</Age> 
    </Employee> 
     <!--Location> 
     <LocName></LocName> 
     <State></State> 
    </Location--> 
</Record> 

這怎麼可能acieved?

+0

向下的票是不公平的,當英語可能是第二語言。 – 2013-03-22 16:14:34

+0

Ramyaa,標籤是指XML元素還是URL參數? – 2013-03-22 16:15:29

+0

這真的需要解決這裏提出的問題......一些示例代碼可能會幫助 – 2013-03-22 16:35:52

回答

0

您可以使用context.expand函數。

在你的要求,你需要用$添加您的第{= context.expand( 「變量#1」)= '添加什麼!'? '': ''}

舉例: 數據源# 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>':''} 

如果你的變量是空的!不會被添加=「‘的價值?’例如,」