使用jmeter中_javaScript函數和__substring函數嵌套截取字符串變量做傳參


一、說明:

        一哥們的業務場景是這樣的,對一款商品進行下單后,會生成一個訂單號,進行支付時,只需要訂單號的后8位隨機碼,這個時候就要對傳入的動態訂單號進行字符串截取,這樣才能支付成功,假如只測          試一次可以手動獲取,但需要執行多次就需要動態獲取。

二、實現步驟

   1、首先就是需要溝通,徹底明白業務場景,這樣才有利於接口測試工作展開,不然雲里霧里的亂整沒什么實際意義。

    2、根據提供的腳本和梳理的業務場景,並結合目前遇到的瓶頸:A接口生成一個訂單號【每次下單都是動態訂單號】,B接口進行支付時,只需要傳入A接口訂單號的后8位隨機碼;就是說B接口請求時要拿到A接口后8位隨機碼作為傳參,生成49位訂單號且訂單號后8位和A接口訂單號后8位一致。

    2.1、下圖為:生成的訂單號,需要使用正則表達式對訂單號進行提取,給下個請求引用。

 2.2、下圖為使用正則表達式提取訂單號

 

 

 

3、開始對動態訂單號進行截取,需要用到

    __javaScript:javaScript函數執行一段JavaScript(不是Java!)代碼並返回其值【來自官網翻譯】

    __substring:取字符串中的字串。

     下圖中的表達式可以理解為:使用__substring函數對傳入的動態訂單號進行截取,括號中從第36個字符開始,到第44個字符結束,成功后__javaScript函數進行返回截取的數據作為傳參;${tradeNo}為變量引用【訂單號】,參照2.2步驟。

 

 

 

4、下圖為成功后的結果。

 

 


免責聲明!

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



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