LoadRunner如何處理AJAX非同步請求
阿新 • • 發佈:2019-01-04
最近在網上經常有人問“LoadRunner腳本回放成功,但資料沒有寫入資料庫,這是什麼原因”,記得以前的同事也遇到過相同的問題,再次將解決方法貼出來,希望能幫助大家。
相信大家在做測試的過程中,特別是B/S的應用程式,或多或少都會遇到研發用AJAX或者ActiveX實現的功能,而這些功能通常會包含一些客戶端函式(一般為JavaScript),我們知道,LoadRunner主要是處理客戶端與伺服器之間的互動,因此針對於JavaScript是無能為力的,那麼,針對於這類情況我們需要如何處理呢?其實大家可以仔細想想LoadRunner的原理,Loadrunner主要是基於協議來進行效能測試的,不管AJAX或者ActiveX在客戶端做了多少事情,只要它是通過HTTP協議來發送請求的,那麼我們就只需要模擬這個請求就可以完成測試了。
以下是之前同事遇到的該類問題:測試融資融券業務時,指令碼能正常回放成功,但提交的資料未寫入後臺資料庫,通過與研發溝通及抓包工具,瞭解到研發在實現融資融券品種的交易業務時,採用了AJAX技術進行提交資料,下圖為抓包工具的截圖:
因此為解決該問題,需要在提交資料的請求前新增相關的包頭方法,如下:
再次回放,提交的資料能正常寫入資料庫了,至此問題解決。