SoapUI 關聯之Property Transfer、JSONPath、Xpath [4]


進行接口功能測試過程中,經常會碰到,需要獲取到上一個請求響應結果中數據,傳遞到下一個請求中來使用。在soapui中我們通過Property Transfer來實現。

 

1、Property Transfer功能界面介紹

右鍵項目project-->new TestSuite-->new TestCase-->右鍵Test Steps-->Add step-->Property Transfer

 

詳細參考官方文檔:https://www.soapui.org/docs/functional-testing/teststep-reference/property-transfers.html


2、Property Transfer 之 JSONPath

假設我們有兩個接口:登錄、查詢用戶信息。登錄后響應結果會返回一個token值;查詢用戶信息時,請求頭中需帶上這個token值,才能查詢成功


1)登錄請求,運行返回結果成功,且返回token值

 

 
2)查詢用戶信息,請求頭中添加token值,運行,成功查詢到當前登錄用戶的信息

 

 如果只有以上2步,則每次都得先運行登錄,copy出token值,再粘貼到查詢用戶信息的請求頭,再運行;相當麻煩;因此在以上2步中間,我們需要插入一個step


3)右鍵loginIn-->Insert Step-->Property Transfer,但是在進行Target設置時,不能直接把值傳到user請求頭中,所以,先自定義設置一個變量,把token值傳遞到這個變量,再進行變量引用

 

 
4)右鍵Test Steps-->Add step-->Properties,並且自定義一個變量名稱為token

 

 
5)進行Property Transfer的設置如下,運行后查看Properties中token值獲取成功

 
 

 

 

這里$.token表示獲取根元素下的token對應的值。JSONPath詳細請移步參考http://lemfix.com/topics/63

{
   "code": "200",
   "message": "登錄成功",
   "token": "40c6d6e2d2a949f6d988c275fd4725ab31b6c14c33c2bbbee0d787b911af58f1"
}


6)從上面步驟可以看到token已經獲取成功了,怎么傳遞到查詢信息接口的請求頭呢?直接${變量名}引用

 

 
7)雙擊TestCase,運行成功

 

 

 

3、Property Transfer 之 XPath

假設現在我們要從數據庫獲取某一個用戶信息,然后去登錄;soapui發起jdbc請求返回結果默認是xml格式的,這里要用到XPath表達式

1)發起JDBC Request,運行,返回數據庫用戶信息

 

 
2)然后再從JDBC Request的返回結果中,獲取到name值進行登錄;這里右鍵JDBC Request-->Insert Step-->Property Transfer,然后進行如下設置

 

 
這里//Results/ResultSet/Row[1]/USER.NAME[1] 中 //表示不考慮Results在文檔中的位置,選取Results下的所有ResultSet元素下的第一個Row元素下的第一個USER.NAME元素,所以在這里會取到tudou

XPath詳細請移步參考:https://www.w3school.com.cn/xpath/xpath_syntax.asp

<Results>
    <ResultSet fetchSize="0">
        <Row rowNumber="1">
            <USER.NAME>tudou</USER.NAME>
            <USER.PWD>lemon123456</USER.PWD>
            <USER.AGE>30</USER.AGE>
            <USER.EMAIL>121313927@qq.com</USER.EMAIL>
            <USER.PHONE>18866668888</USER.PHONE>
        </Row>
        <Row rowNumber="2">
            <USER.NAME>yameng</USER.NAME>
            <USER.PWD>lemon666</USER.PWD>
            <USER.AGE>30</USER.AGE>
            <USER.EMAIL>121313928@qq.com</USER.EMAIL>
            <USER.PHONE>15811112223</USER.PHONE>
        </Row>
    </ResultSet>
</Results>

 
3)登錄請求這里,不用做什么設置

 

 
4)雙擊TestCase,運行,查看結果,成功

 

 
soapui的關聯方式就整理到這,希望大家學有所用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM