項目背景是這樣的
ToB的非線上項目,實施需要到場部署并且驗證相關功能。為了保證系統算法的穩定性,進行算法接口的自動化測試工具的提供。
架構:
jmeter+java+mysql+plugins
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL90zZihmVzoFcoJTWwhnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1EzN1ITOwMTM0EDMxAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
難點:
每家醫院的業務資料不同,不能用一套資料case驅動驗證。
解決思路:
現場進行用例庫的歸檔,動态擷取現場資料進行請求封包的封裝。
踩的坑:
jmeter-duubo sample plugin在使用過程中設定好的類路徑總是串到其他類,這裡得到了開發這個插件的大神的幫助以及其他開源社群遇到此問題的兄弟的幫助,特别感謝github社群的xchnshi和凝雨大神。
jsr223 sample的使用中遇到了很多文法的問題,原因是groovy沒有系統學習過,這裡真的要提醒自己基礎的重要性。其中一個問題搞了1天。。
問題1.
如下圖:在groovy中 " ",' '有很大的差別,' '是純String,而查閱資料," "是String模闆。具體的還在研究中。我因為不知道怎麼把這個查詢出來的參數轉成String卡了好長時間。
當換成' '号後就解決了,這裡真的要汗顔一下。
問題2.
到現在沒有想明白的是我直接傳入Json封包JSONArray卻接收不了的問題,是以我自己寫的類裡隻能加一個接收String類型的方法了。咱也不知道為啥,我覺得還是基礎知識的問題。這裡也留着後續再去深入探索。
最後呢,想說一下jmeter開發真的挺有挑戰的,不好調試不說,log.info隻能打出String類型的東東,想用print輸出還得用其他方式。這裡也有個思考,為什麼不直接用java給他們做一套呢,也許原因隻有一個,偷懶。
2020-10-16記錄
今天遇到一個問題,在進行mysql查詢json時,json資料被截斷了,沒有全部輸出。查資料發現group_concat函數mysql有長度限制。
查詢方式:
show variables like 'group_concat_max_len';
設定方式:
SET Session group_concat_max_len = 2048;
SET GLOBAL group_concat_max_len = 2048;