学会针对永洪API接口的性能测试,工作效率提升百倍
性能測試是指針對產品的業務場景,通過設計場景和壓力,對產品進行高并發量、大數據量的測試,主要目的是為了確定產品在高并發情況下的各項指標:平均處理時間,QPS,網絡IO,磁盤讀寫等。永洪BI具有高耦合性、海量數據、大計算量、復雜邏輯等特點,因此性能測試尤為重要,對于用戶實際使用場景,性能問題可能要比功能問題更多。
對于性能測試,常見的工具有很多,對于永洪BI這類產品,更適合使用的工具為LoadRunner和JMeter。LoadRunner是最經典的性能測試工具,支持功能較全面,但是最主要的問題是比較貴,需要購買Licence,因此市場占用率已經大不如前。另外一個可選工具是JMeter,此工具為開源工具,完全免費,雖然支持功能不像LoadRunner那么全,但是完全可以通過添加各種組件的方式進行功能擴充。
引入原因
當前性能測試主要是基于LoadRunner,最主要的問題是腳本編寫比較復雜,返回數據很難進行判斷,因此不能滿足所有性能測試場景的覆蓋。
實際使用過程中,現場部署人員和支持人員常常會被用戶提出以下需求:
能不能用JMeter進行測試。
能不能把報表中的數據取出,進行判斷,用于確定性能測試腳本確實沒問題。
批量添加測試用戶、賦權(對于8.6前的老版本無法通過Excel導入的方式進行添加)。
為了客戶現場支援人員和客戶更加容易進行性能測試,以另外一個思路使用JMeter作為壓測工具編寫基于API的性能測試。這種測試方式最大的好處是用戶能夠加判定條件,返回數據以報文的方式進行驗證,使用工具比較簡單。熟練使用基于API的性能測試對于現場支持人員和測試人員非常有幫助,可以大幅度提高工作效率。
這種測試方法主要是基于永洪BI的API接口,以當前的API接口完全滿足性能測試需求。這種方法的優點是腳本編寫比較簡單、工具免費、除了常規性能測試還可以通過API接口進行一些其他工作,比如刪除無用報表、批量添加數據源、并發創建大批報表等。
使用前提
WebAPI 是基于servlet實現,API所有的方法的調用需要構建xml格式的請求內容,post到這個servlet,并且返回xml格式的字符串作為響應。想要基于API做集成開發需要構建和解析xml格式字符串,并通過http協議進行通訊。
修改web.xml
使用WebAPI首先需要修改Yonghong/tomcat/webapps /bi/WEB-INF/web.xml,在其中添加如下報文:
YonghongWebApi
g5.sv.httpapi.YonghongWebApi
YonghongWebApi
/api
設置系統權限
需要交系統設置問文件權限系統,進入管理系統-系統設置-權限管理系統配置,選擇文件權限管理系統并點擊應用按鈕,如下圖所示:
腳本編寫
腳本編寫過程中,基本需要以下幾個接口來進行:
權限驗證
退出權限
批量獲得儀表盤中表格、交叉表、圖表、文本組件的數據
權限驗證接口
http://ip:port/bi/api?action=login&adminv=xxxx&passv=xxxx
此接口調用比較簡單,主要是需要在url里邊拼接用戶賬戶和密碼,adminv后接用戶賬戶,passv后接密碼,需要注意的問題如下:
密碼不可設置為特殊字符”"“和”<“,其他特殊字符需要轉義登錄
權限驗證返回的token代表一個http session,不需要每次調用API時都調用這個接口。token的失效時間由屬性:secure.session.timeout=1800000的值控制,單位為秒,默認失效時間為30分鐘
最后一定要調用“退出權限”接口,否則可能會導致短期內出現用戶數過多,無法權限驗證的情況。并且此接口只是用來進行api驗證用,不能用來進行單點登錄
需要傳一個xmlData,值為空,否則接口調用不能通過驗證。
退出權限
http://ip:port/bi/api?action=logout&token=xxxx
請求參數只在url上添加token信息或者post傳入token信息
批量獲得儀表盤中表格、交叉表、圖表、文本組件的數據:
http://ip:port/bi/api?action=getElemDatas&token=xxxx
xmlData中對應的報文如下:
<?xml version="1.0" encoding="utf-8"?>test/Data_4G_100W_vooltdb
圖表1
25
1
其中各項參數的意義如下:
DBPATH:儀表盤路徑
NAME:要訪問儀表中的元素
PAGESIZE:分頁每頁多少行數據
PAGENOW:獲取第幾分頁的數據
需要注意的是腳本中需要將此xml報文進行要,去掉這些換行符,壓縮后形式如下:
JMeter腳本報文如下:
學會針對永洪API接口的性能測試,工作效率提升百倍
基于API性能測試的方法大概就是這樣,活用API接口,對于很多工作都有幫助,比如添加用戶、賦予權限等等,對于用戶希望能夠獲取報表中所有數據的需求(希望壓測時可以通過返回數據來判斷是否成功)可以通過基于API接口的性能測試,另外編寫demo作為參考。
總結
以上是生活随笔為你收集整理的学会针对永洪API接口的性能测试,工作效率提升百倍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 报告如何单独添加水印?永洪BIV9.2解
- 下一篇: 4步美化报表教程,这样汇报工作直接拿满分