標籤:伺服器端 loadrunner app效能測試
大家好,近段時間很多人問我關於APP效能測試方面問題。一直是打算髮表的,由於多方面的因素拖到現在,有次公司讓我給客戶講解APP效能測試,回來後就一直覺得有必要寫下。好了,不多廢話。
目前版本LoadRunner12有圖下4種方式產生指令碼。650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/EC/wKioL1Yu40HjLniHAAFiwcuo0gQ545.jpg" title="1284115201.png" alt="wKioL1Yu40HjLniHAAFiwcuo0gQ545.jpg" />
第一種:Record and Analyze Traffic
在電腦上設定wifi熱點,需將網際網路共用到該熱點,也可用隨身WiFi
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/ED/wKioL1Yu5wKBVZigAAGbK-tmViU648.jpg" title="1.png" alt="wKioL1Yu5wKBVZigAAGbK-tmViU648.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/ED/wKioL1Yu58SyebcgAAEsPuMiyWI557.jpg" title="2.png" alt="wKioL1Yu58SyebcgAAEsPuMiyWI557.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F0/wKiom1Yu6Buwg-59AABcZiy3dQo061.jpg" title="3.png" alt="wKiom1Yu6Buwg-59AABcZiy3dQo061.jpg" />
在電腦上建立好熱點後,因為筆者是IOS系統手機,需使用Fiddler代理安裝DO_NOT_TRUST_FiddlerRoot描述性檔案。安裝步驟如下:
1)開啟Fiddler,Tool -> Fiddler Options,選中“Decrpt HTTPS tracffic”,選中“Allow remote computers to connect”
2)開啟iPhone找到已串連上名稱為test的網路連接,開啟HTTP手動代理,在伺服器一欄輸入裝有Fiddler所在電腦的IP地址(比如10.80.0.128)以及Fiddler的連接埠號碼8888
3)開啟 iPhone的Safari,訪問10.80.0.128:8888,點“FiddlerRoot certificate”安裝
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/ED/wKioL1Yu7BzROZtRAAH3RD0pXj8566.jpg" title="1.png" alt="wKioL1Yu7BzROZtRAAH3RD0pXj8566.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/ED/wKioL1Yu7F-hDMbKAAH3SkIeqP8405.jpg" title="2.png" alt="wKioL1Yu7F-hDMbKAAH3SkIeqP8405.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F2/wKiom1YvE6uxvaAYAAB9i7gfNsw469.jpg" title="1.png" alt="wKiom1YvE6uxvaAYAAB9i7gfNsw469.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F2/wKiom1YvE8bDD6Z3AACsiZDUK00580.jpg" title="2.png" alt="wKiom1YvE8bDD6Z3AACsiZDUK00580.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/EF/wKioL1YvFBDAPZ60AACaLXdmqms391.jpg" title="3.png" alt="wKioL1YvFBDAPZ60AACaLXdmqms391.jpg" />
1.
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F0/wKioL1YvGO7Bv0lUAAI8OVUaUt0914.jpg" title="1.png" alt="wKioL1YvGO7Bv0lUAAI8OVUaUt0914.jpg" />
2.開啟Wireshark點擊Interface List,點擊無線網路串連2 Details查看Interface,Record network選中無線網路串連2的Interface名稱650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F3/wKiom1YvF1iQxXvvAAK2bCodGQI057.jpg" title="1.png" alt="wKiom1YvF1iQxXvvAAK2bCodGQI057.jpg" />
3.開始錄製,在已連上wifi熱點的手機上操作APP,停止錄製,儲存捕獲到的pcap格式檔案,下一步
4.用戶端篩選器填寫手機的IP地址,完成,LoadRunner自動分析產生指令碼
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F3/wKiom1YvGbmgNBa0AAFii6Vm3IQ485.jpg" title="1.png" alt="wKiom1YvGbmgNBa0AAFii6Vm3IQ485.jpg" />
第二種:Analyze Traffic
其實第二種和第一種差別不大,在建立WiFi並手機上下載安裝DO_NOT_TRUST_FiddlerRoot描述性檔案後使用Wireshark開始抓包,選中手機wifi熱點所在網路連接並點擊Start
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F0/wKioL1YvHE2QCetSAAFcSb4QRuo595.jpg" title="1.png" alt="wKioL1YvHE2QCetSAAFcSb4QRuo595.jpg" />
接下來只要操作需要測試的APP,抓包如下:650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F3/wKiom1YvHP7BvzxeAAIO0fyqizM683.jpg" title="1.png" alt="wKiom1YvHP7BvzxeAAIO0fyqizM683.jpg" />
將它儲存為pcap格式,此處我將它儲存在案頭。650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/F0/wKioL1YvHZOTQTwlAAAbiesWM68869.jpg" title="1.png" alt="wKioL1YvHZOTQTwlAAAbiesWM68869.jpg" />
然後和第一種方法一樣,選擇test.pcap,Client side filter處填寫手機的IP地址(比如192.168.137.139),點擊完成,LoadRunner自動分析產生指令碼。
第三種:Record Emulator
1.安卓模擬器下載後,配置環境變數,路徑C:\Users\L\Desktop\android\sdk\platform-tools;
路徑根據自己情況而定,此處我把安卓模擬器下載解壓在我的案頭中,這裡還需安裝jdk且配置好jdk環境變數,如果已經安裝過jdk並配置環境變數就不用了
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F1/wKioL1YvIQnQd7OMAACBmmSNXLY397.jpg" title="1.png" alt="wKioL1YvIQnQd7OMAACBmmSNXLY397.jpg" />
2.在已經運行安卓模擬器後,安裝需要測試的安卓版APP
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F1/wKioL1YvIVyQ0CN6AAD7GyGu044080.jpg" title="1.png" alt="wKioL1YvIVyQ0CN6AAD7GyGu044080.jpg" />
3.選中Record Emulator點擊下一步,選擇安卓模擬器執行檔案,此處路徑為C:\Users\L\Desktop\android\sdk\tools\emulator.exe,Command Line處填寫@lwq(此處@安卓模擬器的名稱),Working directory為工作目錄,可自訂一個檔案夾。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F4/wKiom1YvIcfBGYLKAADC8fnRUzg851.jpg" title="1.png" alt="wKiom1YvIcfBGYLKAADC8fnRUzg851.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/74/F1/wKioL1YvIjDCT4qaAAEnLp8nPuY611.jpg" title="1.png" alt="wKioL1YvIjDCT4qaAAEnLp8nPuY611.jpg" />
4.操作後停止錄製即可產生指令碼
第四種:Proxy Recording
在建立WiFi並手機上下載安裝DO_NOT_TRUST_FiddlerRoot描述性檔案後
1.開啟LoadRunner 的Virtual User Generator,建立指令碼,選擇Mobile Application – HTTP/HTML協議,點擊錄製按鈕,選中Proxy Recording點擊下一步,輸入代理監聽連接埠(如8888),點擊完成。
2.因為筆者是蘋果手機所以此處還是蘋果手機舉例,安卓手機同樣原理。手動設定HTTP代理,伺服器位址為電腦IP地址,連接埠填寫為LoadRunner代理監聽連接埠8888
(提示:先啟動loadrunner錄製,再去配置手機的代理連接埠)
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/74/F4/wKiom1YvJFLQaRxSAAGMRcXEQbE416.jpg" title="1.png" alt="wKiom1YvJFLQaRxSAAGMRcXEQbE416.jpg" />
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F1/wKioL1YvJoyAGPQ_AAIlFBs74oI768.jpg" title="1.png" alt="wKioL1YvJoyAGPQ_AAIlFBs74oI768.jpg" />w
從上面兩張圖可以看到,第一張圖是筆記本串連網線後再開出熱點共用到網路連接2的,第二張圖是筆記本串連無線後再開出熱點共用到網路連接2的,如果是第一種在手動設定HTTP代理時伺服器位址應填本地串連地址192.168.1.101,如果是第二種手動設定HTTP代理時伺服器位址應填無線網路串連2地址192.168.137.1
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F2/wKioL1YvLZGwIvBtAAGwwiwjlHk597.jpg" title="1.jpg" width="300" height="536" border="0" hspace="0" vspace="0" style="width:300px;height:536px;" alt="wKioL1YvLZGwIvBtAAGwwiwjlHk597.jpg" />
3.然後操作APP最後停止錄製產生指令碼
第四種方式和Web – HTTP/HTML代理錄製實質為同一種
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/74/F1/wKioL1YvKFbwEnb3AAD7mPBRjPo926.jpg" title="1.png" alt="wKioL1YvKFbwEnb3AAD7mPBRjPo926.jpg" />
從以上四種方式看出第四種最為方便,第三種方式本人不推薦。第一次在51CTO發表博文,本人水平有限,如果有錯誤的地方歡迎大家指出。
本文出自 “1284115201” 部落格,轉載請與作者聯絡!
關於APP效能測試指令碼錄製的四種方法