1. 程式人生 > >利用神州靈雲apptrace抓取到的APP資料反向給做Jmeter介面測試

利用神州靈雲apptrace抓取到的APP資料反向給做Jmeter介面測試

前提:準備一款手機APP,嵌入神州靈雲公司sdk,使其操作產生的資料傳送到神州靈雲apptrace平臺上;本文就以開源的月光茶人APP(ios)程式為例,講述如何用sdk採集到資料提供給jmeter做介面或壓力測試;

1,首先操作手機月光茶人app執行一個完整的購買支付流程,我們在apm檢視其產生的url為下圖: 這裡寫圖片描述

2,圖中登入、首頁列表、產品列表、加入購物車、成功加入到購物車、加入預購訂單、預購訂單詳情、選擇支付、訂單提交成功 這9步構成;我們把這9步的http請求逐一加入到jmeter裡面 這裡寫圖片描述

3,通過URL分析,發現其他步驟會用到登入後產生的返回體裡面appCartCookieId和appLoginToken動態引數,所以我們要在登入請求後面加入正則表示式提取器 來提取,它返回的引數

這裡寫圖片描述

.“appCartCookieId”:”(.+?)”. 代表從appCartCookieId:後面括號裡面進行匹配,截止到 雙引號 1表示 當有多個正則表示式時,只獲取第一個,匹配數字1,表示從第一個開始;匹配數字,-1表示取出所有匹配值 0是隨機,1 、2 表示匹配第幾個 如果有多個值和appCartCookieId匹配,一定要用1這種形式來選擇值,若有極端情況,有多個匹配值且位置不定,返回體如下面:

“address”:{“area”:{“store_id”:”1”,”shippingGroup”:”“,”pathNames”:”中國/廣東省/深圳市/寶安區/福永/福圍-下沙南”,”name”:”福圍-下沙南”,”id”:”1000000”,”pathNames4Print”:”深圳市寶安區福永福圍-下沙南”},”isDefault”:”1”,”telephone”:”18812341234”,”id”:”100347013e14430696ec765ff464429c”

要取”18812341234後面的id,可以寫成”18812341234”,”id”:”(.+?)”.也可以寫成”1[3|4|5|8][0-9]\d{4,8}”,”id”:”(.+?)”. 記住有的手機號正則表示式是:1[3|4|5|8][0-9]\d{4,8},但如果正則表示式中有^和$,他們表示行開始和結束,要去掉這兩個符號;

4,接下的步驟就可以引用這兩個引數,如下圖可以寫成parameters裡面引用引數,也可以直接在body data裡面編寫多個引數,多個引數用&來連線 這裡寫圖片描述

5.如果想在路徑裡面使用上一個請求產生的引數,body data或者parameters必須帶上這個引數,哪怕請求body體用不上這個引數

這裡寫圖片描述 6.最後新增用於檢視結果的“檢視結果樹”和“聚合報告”,在“檢視結果樹”裡面可以詳細看到響應的資料、請求資料、取樣結果等資訊 這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述 聚合報告彙總了介面訪問總量錯誤資訊等關鍵指標 這裡寫圖片描述 7.也可以把神州靈雲apptrace平臺獲取的header新增到jmeter裡面 這裡寫圖片描述 這裡寫圖片描述 這樣做的好處時,使模擬的更真實,在apptrace平臺面檢視業務請求,可以看到裝置顯示為iphone了 這裡寫圖片描述