99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2021-05-31 閱讀量: 1778
學(xué)會針對永洪API接口的性能測試,工作效率提升百倍

性能測試是指針對產(chǎn)品的業(yè)務(wù)場景,通過設(shè)計(jì)場景和壓力,對產(chǎn)品進(jìn)行高并發(fā)量、大數(shù)據(jù)量的測試,主要目的是為了確定產(chǎn)品在高并發(fā)情況下的各項(xiàng)指標(biāo):平均處理時(shí)間,QPS,網(wǎng)絡(luò)IO,磁盤讀寫等。永洪BI具有高耦合性、海量數(shù)據(jù)、大計(jì)算量、復(fù)雜邏輯等特點(diǎn),因此性能測試尤為重要,對于用戶實(shí)際使用場景,性能問題可能要比功能問題更多。

對于性能測試,常見的工具有很多,對于永洪BI這類產(chǎn)品,更適合使用的工具為LoadRunner和JMeter。LoadRunner是最經(jīng)典的性能測試工具,支持功能較全面,但是最主要的問題是比較貴,需要購買Licence,因此市場占用率已經(jīng)大不如前。另外一個(gè)可選工具是JMeter,此工具為開源工具,完全免費(fèi),雖然支持功能不像LoadRunner那么全,但是完全可以通過添加各種組件的方式進(jìn)行功能擴(kuò)充。

引入原因

當(dāng)前性能測試主要是基于LoadRunner,最主要的問題是腳本編寫比較復(fù)雜,返回?cái)?shù)據(jù)很難進(jìn)行判斷,因此不能滿足所有性能測試場景的覆蓋。

實(shí)際使用過程中,現(xiàn)場部署人員和支持人員常常會被用戶提出以下需求:

  1. 能不能用JMeter進(jìn)行測試。

  2. 能不能把報(bào)表中的數(shù)據(jù)取出,進(jìn)行判斷,用于確定性能測試腳本確實(shí)沒問題。

  3. 批量添加測試用戶、賦權(quán)(對于8.6前的老版本無法通過Excel導(dǎo)入的方式進(jìn)行添加)。

為了客戶現(xiàn)場支援人員和客戶更加容易進(jìn)行性能測試,以另外一個(gè)思路使用JMeter作為壓測工具編寫基于API的性能測試。這種測試方式最大的好處是用戶能夠加判定條件,返回?cái)?shù)據(jù)以報(bào)文的方式進(jìn)行驗(yàn)證,使用工具比較簡單。熟練使用基于API的性能測試對于現(xiàn)場支持人員和測試人員非常有幫助,可以大幅度提高工作效率。

這種測試方法主要是基于永洪BI的API接口,以當(dāng)前的API接口完全滿足性能測試需求。這種方法的優(yōu)點(diǎn)是腳本編寫比較簡單、工具免費(fèi)、除了常規(guī)性能測試還可以通過API接口進(jìn)行一些其他工作,比如刪除無用報(bào)表、批量添加數(shù)據(jù)源、并發(fā)創(chuàng)建大批報(bào)表等。

使用前提

WebAPI 是基于servlet實(shí)現(xiàn),API所有的方法的調(diào)用需要構(gòu)建xml格式的請求內(nèi)容,post到這個(gè)servlet,并且返回xml格式的字符串作為響應(yīng)。想要基于API做集成開發(fā)需要構(gòu)建和解析xml格式字符串,并通過http協(xié)議進(jìn)行通訊。

修改web.xml

使用WebAPI首先需要修改Yonghong/tomcat/webapps /bi/WEB-INF/web.xml,在其中添加如下報(bào)文:

<servlet>

<servlet-name>YonghongWebApi</servlet-name>

<servlet-class>g5.sv.httpapi.YonghongWebApi</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>YonghongWebApi</servlet-name>

<url-pattern>/api</url-pattern>

</servlet-mapping>

設(shè)置系統(tǒng)權(quán)限

需要交系統(tǒng)設(shè)置問文件權(quán)限系統(tǒng),進(jìn)入管理系統(tǒng)-系統(tǒng)設(shè)置-權(quán)限管理系統(tǒng)配置,選擇文件權(quán)限管理系統(tǒng)并點(diǎn)擊應(yīng)用按鈕,如下圖所示:

學(xué)會針對永洪API接口的性能測試,工作效率提升百倍


腳本編寫

腳本編寫過程中,基本需要以下幾個(gè)接口來進(jìn)行:

  1. 權(quán)限驗(yàn)證

  2. 退出權(quán)限

  3. 批量獲得儀表盤中表格、交叉表、圖表、文本組件的數(shù)據(jù)

權(quán)限驗(yàn)證接口

http://ip:port/bi/api?action=login&adminv=xxxx&passv=xxxx

此接口調(diào)用比較簡單,主要是需要在url里邊拼接用戶賬戶和密碼,adminv后接用戶賬戶,passv后接密碼,需要注意的問題如下:

  1. 密碼不可設(shè)置為特殊字符”"“和”<“,其他特殊字符需要轉(zhuǎn)義登錄

  2. 權(quán)限驗(yàn)證返回的token代表一個(gè)http session,不需要每次調(diào)用API時(shí)都調(diào)用這個(gè)接口。token的失效時(shí)間由屬性:secure.session.timeout=1800000的值控制,單位為秒,默認(rèn)失效時(shí)間為30分鐘

  3. 最后一定要調(diào)用“退出權(quán)限”接口,否則可能會導(dǎo)致短期內(nèi)出現(xiàn)用戶數(shù)過多,無法權(quán)限驗(yàn)證的情況。并且此接口只是用來進(jìn)行api驗(yàn)證用,不能用來進(jìn)行單點(diǎn)登錄

  4. 需要傳一個(gè)xmlData,值為空,否則接口調(diào)用不能通過驗(yàn)證。

學(xué)會針對永洪API接口的性能測試,工作效率提升百倍


退出權(quán)限

http://ip:port/bi/api?action=logout&token=xxxx

請求參數(shù)只在url上添加token信息或者post傳入token信息

批量獲得儀表盤中表格、交叉表、圖表、文本組件的數(shù)據(jù):

http://ip:port/bi/api?action=getElemDatas&token=xxxx

xmlData中對應(yīng)的報(bào)文如下:

<?xml version="1.0" encoding="utf-8"?>

<info>

<dbpath>test/Data_4G_100W_vooltdb</dbpath>

<elements>

<element>

<name>圖表1</name>

<page>

<pageSize>25</pageSize>

<pageNow>1</pageNow>

</page>

</element>

</elements>

</info>

其中各項(xiàng)參數(shù)的意義如下:

  1. DBPATH:儀表盤路徑

  2. NAME:要訪問儀表中的元素

  3. PAGESIZE:分頁每頁多少行數(shù)據(jù)

  4. PAGENOW:獲取第幾分頁的數(shù)據(jù)

需要注意的是腳本中需要將此xml報(bào)文進(jìn)行要,去掉這些換行符,壓縮后形式如下:

<?xml version="1.0" encoding="utf-8"?><info><dbpath>test/Data_4G_100W_vooltdb</dbpath><elements><element><name>圖表1</name><page><pageSize>25</pageSize><pageNow>1</pageNow></page></element></elements></info>

JMeter腳本報(bào)文如下:

學(xué)會針對永洪API接口的性能測試,工作效率提升百倍


基于API性能測試的方法大概就是這樣,活用API接口,對于很多工作都有幫助,比如添加用戶、賦予權(quán)限等等,對于用戶希望能夠獲取報(bào)表中所有數(shù)據(jù)的需求(希望壓測時(shí)可以通過返回?cái)?shù)據(jù)來判斷是否成功)可以通過基于API接口的性能測試,另外編寫demo作為參考。

學(xué)會針對永洪API接口的性能測試,工作效率提升百倍


0.0000
0
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子