2012-07-25 23 views
0

任何人都可以幫助我解決這個查詢在下面提到的情況下......? 首先,我爲每個單獨的Web服務創建了一個測試套件,用於處理所有類型的測試用例,例如請求成功,內部服務器錯誤bla bla。 我的應用程序是基於登錄的。並且在成功登錄時,登錄API會在響應中返回會話ID和其他一些值。 ive另一個套件,它從服務器獲取該測試套件1中作爲響應生成的sessionid的最新研究結果。可以幫助我在調用其他API時使用此屬性(sessionid)作爲參數(例如,getlateststudies)作爲其他測試套件的一部分......在這種情況下,我想獲取該sessionid的最新研究成果。 正如您所知,此類參數的值,如sessionid是系統生成的。在這種情況下,野人(*)可以被起訴。 我剛接觸SOAPUI,已經從soap UI在線幫助鏈接中獲得了幫助,但整個幫助與在同一個測試套件中使用該屬性作爲參數相關,而不是跨越各種測試套件。 如果您知道如何繼續前進,請詳細說明所有步驟。 爲了更加清晰,讓我定義我在工作區中構建的層次結構。 USERLOGIN/測試包1,表示登錄API/ 請求成功/ 測試用例名稱,表示場景/ teststep1 方法1-request1 /這在調用/ getlateststudies測試用例產生的sessionid作爲值返回系統/ *測試套件2,代表了API從服務器獲取最新的研究爲 說的SessionID */ 請求成功/ 測試用例的名字,代表一個場景/ teststep1 方法1,request1 我是否需要使用任何groovy腳本? 我已經嘗試過在同一個測試套件中使用soap UI的屬性transefer功能,但是 告訴我一些合適的解決方案,可以在同一個項目的測試套件中使用它。如何使用本身


@ Steve,謝謝你的回覆。我實際上遵循了你提供的第二個鏈接中提到的步驟,因爲根據我和你最後的對話,sessionid param是一個服務器生成的id,它不能被硬編碼。只是想和你討論我做了什麼!在項目級別sessionid中定義一個屬性,並從外部源(例如.txt文件)中導入其值,並將其中的一個野性字符(即*)保存爲sessionid的值。注意它會選擇服務器生成的sessionid,而我真的不想傳遞硬編碼值。我後來使用了屬性傳輸功能來選擇源和目標屬性名稱及其值。想和你仔細檢查是我的方法是否正確,如果沒有的話請提供寶貴意見!或者如果傳遞通配符字符不正確的服務器生成的id,那麼應該是其他可能的選項來表示這個?

+0

對不起,遲到的答覆。這聽起來像是會起作用的。有沒有其他地方可以提供會話ID?另一個肥皂要求?你可以從後端系統抓取它(使用jdbc步驟)嗎? – 2012-08-19 01:51:31

回答

1

您近了,聽起來好像您只是使用了錯誤的屬性類型。 soapUI有幾個級別。

  • 全球 - 全球上市
  • 項目 - 可用於所有項目中可用整個套件的測試用例可用
  • TestCase-
  • TestSuite-

您需要使用財產轉移到項目級別的屬性,所以在項目級別添加一個自定義屬性,然後使用屬性轉移到您創建的屬性。使用xpath來提取你需要的數據。最後,您需要在新請求中使用該項目屬性$ {#項目#屬性名稱}

將soapUI放在一起的所有工具都可以從soapUI網站獲得。

http://www.soapui.org/Functional-Testing/xpath-and-xquery-assertions.html#1-the-xpath-match-assertion

http://www.soapui.org/Functional-Testing/working-with-properties.html

http://www.soapui.org/Functional-Testing/transferring-property-values.html

相關問題