1. 程式人生 > >Loadrunner11 錄製手機App指令碼多種方法介紹

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版本的要安裝補丁,補丁是在網上找的。

  1. 手機安裝 HP loadrunner mobile recorder ,電腦安裝fiddler工具。

  2. 手機wifi和電腦wifi是同一個網段,手機設定用電腦的代理上網,但是其中引進了fiddler工具,不然我設定完之後,沒有這個工具的幫助,我設定完之後,手機wifi不能上網。可能是我電腦的埠沒有開啟,我暫時還不知道如何正確開啟。

    下載fiddler工具,我用的版本是這個V4.6.0.2,開啟fiddler,工具欄Tools-fiddler options,選項卡 connections,埠填上8888,勾選 allow remote computers to connect

    wKiom1X7gv3g3VtlAAI2emJnIiQ448.jpg

  3. 開啟手機wifi,修改wifi網路,代理選手動,代理伺服器主機名填寫電腦IP,代理伺服器埠填寫8888.儲存,這時你手機wifi可以上網。

     

    wKioL1X7h5_RFBLIAADDExfqETc353.jpg

  4. 開啟fiddler,在手機上開啟hp loadrunner mobile recorder ,點選start recorder,開始錄製,錄製結束後點擊stop recorder ,匯出錄製檔案,用郵件傳送,因為我用QQ傳送失敗,我還不知道是啥原因。

  5. 開啟LR,選擇協議 mobile app, 錄製模式選擇 analyze traffic,下一步如圖所示

    wKiom1X7h4bSBEzTAAFrn-iIUsI889.jpg

  6. 錄製完成的指令碼肯定有很多,可以刪除掉無關的指令碼,剩下的就是除錯指令碼跑順。

 

三、通過安卓模擬器錄製

一、前提:
本次記錄的前提是要求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:該方式是根據傳送的網路資料分析來產生指令碼

剛才又試了一下,成功錄製,就是電腦相當卡。。附上截圖!