Loadrunner11 錄製手機App指令碼多種方法介紹
總體來說,通過LR錄製手機指令碼的方式有三種:
1)通過代理方式錄製,保證手機電腦在同一個網段;
2)通過抓包錄製,在手機上安裝Mobile Recorder;
3)通過安卓模擬器錄製,本地安裝android模擬器Emulator (Android SDK)
一、通過代理方式錄製
http://jingyan.baidu.com/article/359911f566da0d57fe0306d0.html
當lr11為破解版(不包含Proxy Recorder 代理錄製功能,無法使用上面方法錄製)
方式1:Web(HTTP/HTML)協議(推薦使用該方法)
1. 說明
目前手機APP上的功能日益豐富,對手機應用功能的效能測試需求也越來越多。公司比較摳門沒有花錢買Loadrunner,可憐我們工作中一直用的破解版本,沒有Loadrunner11.52以上的版本,不能享受錄製手機的便利。只能自己在網上搜羅一些方法,使用Loadruner11.0實現錄製手機應用指令碼的方法。
以下分筆記本和桌上型電腦兩種裝置介紹使用Loadrunner錄製手機端App的方法。
1.1 錄製的原理
手機App指令碼錄製的原理(非正式,僅個人的理解):需要保證手機終端和電腦在公司同一無線網路內,手機終端可以通過代理將請求資訊通過電腦進行轉發。
1.2必備的軟體和裝置
1. Loadrunner11.0,wplus_init_wsock.exe檔案的地址,如:
C:\Program Files(x86)\HP\LoadRunner\bin\wplus_init_wsock.exe
2. 公共Wifi 或使用電腦的Wifi(筆記本作為Wifi熱點或桌上型電腦使用隨身Wifi作為熱點)
3. 具有無線上網絡卡的筆記本或桌上型電腦(桌上型電腦可使用隨身Wifi作為無線上網絡卡)
4. Android或iPhone手機
5. 需要進行測試的server地址(我實際測試的是公司內部環境的APP server地址,這裡就直接換作csdn好了,我直接用瀏覽器訪問的。)
如:www.csdn.NET
2、筆記本
2.1 筆記本的設定
1. 筆記本需要連線上公共Wifi 如OFFICE-Adviser
2. 獲取本地連線IP
網路連線中有無線網路IP,請忽略,需要使用本地lP,如下
2.2 Loadrunner的設定
1. 錄製時選擇協議Web(HTTP/HTML):
2. 在開始錄製時的配置:
其中Program torecord選擇之前獲取的wplus_init_wsock.exe檔案的地址,如:
C:\Program Files(x86)\HP\LoadRunner\bin\wplus_init_wsock.exe
3. 錄製選項的設定:
a. Capture Level Socket level data
b. New Entry 配置
說明:Taregt Server為需要錄製的地址,Port設定為80
Traffic Forwarding 為代理轉發的IP,需要與手機端設定一致,設定為本機不衝突的埠即可,如2008
4. 配置完成後儲存即可
2.3 手機端的設定
手機端設定:
1. 連線上公共Wifi如 OFFICE-Adviser
2. 設定wifi代理如下:
其中IP為筆記本IP,代理埠為Loadrunner設定的代理轉發埠號:
2.4 使用LR開始錄製指令碼
1. 點選Start Recording頁面的OK可以開始錄製:
在手機App頁面進行操作,可以看到以下內容,需要錄製哪些頁面操作對應的功能就可以了:
如下,啦啦啦,表示錄製成功啦~~~
以下是用公司內部APP環境地址成功錄製的截圖:
失敗的情況示例,可能原因是代理沒有設定:
(因公司內網限制,我無法在手機上訪問csdn地址。。)
2. 如下,可以看到配置在錄製選擇中的程式碼程式也正在執行,錄製完成之後關了就可以了
就是它了:
3、桌上型電腦
桌上型電腦基本步驟與筆記本一樣,只是需要有無線網絡卡(實際上只要手機和電腦在一個網段即可),這裡就介紹怎麼使用隨身Wifi這個神器來完成這個工作了~
1. 網上買一個隨身wifi,我買的是個百度出的小度wifi。(悲劇的是它的內心是小米的。。。用小米的驅動才能用,我也不知道為什麼)。
2. 插上就可以用啦~
3. 使用網絡卡模式,連線上公共Wifi OFFICE-Adviser
4、附錄
4.1參考網頁列表
1. 利用loadrunner代理方式,錄製手機APP指令碼(loadrunner12等包含Proxy Recorder 代理錄製功能)
http://jingyan.baidu.com/article/359911f566da0d57fe0306d0.html
2. 與1對應的網頁有惠普官方網站的解釋:
http://h30499.www3.hp.com/t5/HP-LoadRunner-and-Performance/Recording-HTTP-traffic-on-iOS-devices-with-HP-LoadRunner/ba-p/6582844#.VcHcevncfln
根據官網中的說明,因為Proxy Recorder 代理錄製功能是從Loadruner 11.52版本才開始有的,我們目前使用的是破解版本的11.0,暫時不支援這個功能
方式2:Mobile App(HTTP/HTML)協議
要使用Loadrunner11錄製手機指令碼,需要先搭建好測試環境:
能夠正常使用的LoadRunner11;
安裝一個LR11的補丁包,用於手機錄製;
pc端和手機端的網路在同一個網段。
這裡特別說明一下,電腦需要可以提供熱點(用於手機連線),如果是臺式電腦不能提供熱點,那麼可以使用隨身WIFI。膝上型電腦可以通過安裝360免費WiFi等來達到提供熱點的目的。
【測試環境準備】
第一步:安裝LR11
第二步:安裝LR11錄製手機指令碼補丁包,qfelr11patch4.msp,下載好之後,直接點選安裝,沒有特別的要求。
第三步:如果在新建指令碼頁面,看到Mobile App(HTTP/HTML),表示補丁包成功安裝。
【測試demo】
第一步:新建一個“Mobile App(HTTP/HTML)”協議的指令碼;
第二步:點選 ,選擇錄製模式:選擇“Record and Analyze”,如下圖中的第一個,點選【下一步】;
注:此處選擇3recording wizard,可以使用安卓模擬器的方法進行錄製,具體見方法三
第三步:Host URL填寫“http://localhost”,Port為一個埠號,需要使用本機目前未被佔用的埠號,點選【Connect】。PS:可以使用命令列“netstat”檢視未被佔用埠。
第四步:選擇Record network,可以看到Record network有多個,根據每臺電腦不同,需要選擇的也不同,只能通過每個都進行錄製一下來選擇對應的,我的電腦是第三個。
第五步:選擇Record into,Vuser_init\Action\Vuser_end三選一,一般選擇Action,根據具體情況而定。
第六步:電腦放出熱點,確保手機連線的是電腦的這個熱點,並且只有要這臺手機連線這個熱點!!
第七步:點選【Start Recording】之後,Recording的狀態變為Stop Recording狀態,就可以開始進行要手機操作了。
第八步:要錄製的手機操作結束之後,點選【Stop Recording】,然後電腦會彈出一個抓取的數包,將其儲存。
第九步:點選【下一步】,Capture 處選擇剛才儲存的pcap檔案,IP Host處填寫手機此時的IP地址,這個需要在手機裡檢視,並且確保正確!
第十步:點選【完成】,這是就會自動生成LR指令碼了,如果此時錄製的指令碼為空,那可能是Record network選擇錯了,重新回到第四步,選擇另一個網路,直到錄製指令碼不為空!
二、通過抓包錄製
準備工具:HP loadrunner mobile recorder、 fiddler 、lr11.04版本,lr11版本不支援手機錄製,如果是11版本的要安裝補丁,補丁是在網上找的。
-
手機安裝 HP loadrunner mobile recorder ,電腦安裝fiddler工具。
-
手機wifi和電腦wifi是同一個網段,手機設定用電腦的代理上網,但是其中引進了fiddler工具,不然我設定完之後,沒有這個工具的幫助,我設定完之後,手機wifi不能上網。可能是我電腦的埠沒有開啟,我暫時還不知道如何正確開啟。
下載fiddler工具,我用的版本是這個V4.6.0.2,開啟fiddler,工具欄Tools-fiddler options,選項卡 connections,埠填上8888,勾選 allow remote computers to connect
-
開啟手機wifi,修改wifi網路,代理選手動,代理伺服器主機名填寫電腦IP,代理伺服器埠填寫8888.儲存,這時你手機wifi可以上網。
-
開啟fiddler,在手機上開啟hp loadrunner mobile recorder ,點選start recorder,開始錄製,錄製結束後點擊stop recorder ,匯出錄製檔案,用郵件傳送,因為我用QQ傳送失敗,我還不知道是啥原因。
-
開啟LR,選擇協議 mobile app, 錄製模式選擇 analyze traffic,下一步如圖所示
-
錄製完成的指令碼肯定有很多,可以刪除掉無關的指令碼,剩下的就是除錯指令碼跑順。
三、通過安卓模擬器錄製
一、前提:
本次記錄的前提是要求LR11安裝mobile協議補丁,並再次破解,以下附上方法:
1)安裝LR11;
2)安裝補丁:LR_app補丁並再次破解LR;下載地址:http://pan.baidu.com/s/1sjwWlbv(安裝完之後版本號應該是11.04)
安裝之後可以看到協議中已包含mobile http;
二、錄製方式
總體來說,通過LR錄製手機指令碼的方式有三種:
1)通過安卓模擬器錄製;
2)通過抓包錄製;
3)通過代理方式錄製;
(一) 通過安卓模擬器錄製1)首先通過eclipse安裝安卓虛擬機器(這個就不贅述啦,不懂得童鞋請自行百度!)
這裡記錄下如何通過虛機安裝app:
1.platform-tools目錄下新建資料夾newapk,把下載的apk檔案放進去,該檔案就是即將要安裝的apk檔案。
2.執行控制檯命令,進行安裝。點選開始→執行,輸入cmd,開啟cmd視窗。切換到D盤,輸入D:,然後點選Enter,即切換到D盤,
輸入cd,找到platform-tools的檔案地址,即adb.exe的檔案路徑。(可以通過檔案搜尋adb.exe 或者platform-tools查詢到),貼上在控制檯中。
3.執行安裝檔案的命令:命令為:adb install apk檔案路徑和地址如下圖示:
2)開啟LR,選擇mobile app協議,點選create
3) 點選start record按鈕,選擇第三種方式
4.Emulator to裡選擇模擬器中tools目錄下的emulator.exe的路徑;
command line中寫@模擬器名字,如:@Galaxy
working不需要說啦,填寫檔案儲存路徑
點選完成,開始錄製!
PS:該方式是根據傳送的網路資料分析來產生指令碼
剛才又試了一下,成功錄製,就是電腦相當卡。。附上截圖!