我加入作爲SOAP客戶端的SoapUI的團隊,並且有產生訪問令牌的認證步驟。每個後續請求都應該使用此令牌填充。如何通過SoapUI中的XPath在XML響應中保存全局屬性?
這意味着我手動將舊的訪問令牌替換爲新的。
起初,我通過File => Preference
創建了全球房產,這讓我每天只進行一次編輯,但我喜歡擺脫任何手動步驟。
我不完全理解SoapUI,我們不使用測試套件/案例。
如何創建一個點擊執行請求,通過XPath從響應中提取值並將其保存在全局屬性中的東西?
我加入作爲SOAP客戶端的SoapUI的團隊,並且有產生訪問令牌的認證步驟。每個後續請求都應該使用此令牌填充。如何通過SoapUI中的XPath在XML響應中保存全局屬性?
這意味着我手動將舊的訪問令牌替換爲新的。
起初,我通過File => Preference
創建了全球房產,這讓我每天只進行一次編輯,但我喜歡擺脫任何手動步驟。
我不完全理解SoapUI,我們不使用測試套件/案例。
如何創建一個點擊執行請求,通過XPath從響應中提取值並將其保存在全局屬性中的東西?
我面臨的問題是缺乏知識如何使用SoapUI。
所以首先我創建了TestSuit下的項目。作爲TestSuit的第一步,我做了SOAP請求。
有可能進入TearDown中腳本爲TestSuit:
def token = context.expand('${SessionCreateRQ#Response#//*:BinarySecurityToken/text()}')
com.eviware.soapui.model.propertyexpansion.PropertyExpansionUtils.globalProperties.setPropertyValue('sectoken', token)
或像這樣:
def token = context.expand('${SessionCreateRQ#Response#//*:BinarySecurityToken/text()}')
com.eviware.soapui.SoapUI.globalProperties.setPropertyValue('sectoken', token)
但隨後的運行中並不全局變量的變化值,除非我刪除它來自File => Preference
對話框。
所以我添加第二個步驟產權轉讓在GUI,我的第一個請求選擇名稱,屬性響應,路徑語言的XPath並輸入表達式:
//*:BinarySecurityToken/text()
至於目標,我選擇全球作爲屬性我的變量名稱:
現在當我運行TestSuit${#Global#sectoken}
充滿了新的價值,並可以在任何SoapUI項目中訪問!