一、說明:
一哥們的業務場景是這樣的,對一款商品進行下單后,會生成一個訂單號,進行支付時,只需要訂單號的后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、下圖為成功后的結果。