Loadrunner錄制https腳本


Loadrunner錄制https腳本

隨着公司的發展,公司原有的SVN服務器存放的內容不斷增加,容量已經不能滿足后續需求,首先我們想到對服務器進行擴容,然而因為各種原因服務器不能進行擴容,所以公司決定更換新的SVN服務器,在做數據遷移和環境部署之前我們需要對服務器進行一次性能測試,了解部署后的服務器性能,測試過程中需要對https的網頁進行性能測試。

 

我們可以用loadrunner錄制http網頁,但是當錄制https網頁的時候會發現證書錯誤不能錄制以及其他方面的問題,這時要考慮loadrunner能否錄制https的腳本,查閱資料后發現Loadrunner完全可以錄制https的腳本,和錄制http網頁多了一些步驟,主要是添加證書,協議兩個方面。以下是本次性能測試過程中對https腳本錄制的一些總結。

 

一、獲取證書

 

HTTP協議傳輸的數據都是未加密的,因此使用HTTP協議傳輸隱私信息非常不安全。為了保證這些隱私數據能加密傳輸,於是網景公司設計了SSL(Secure Sockets Layer)協議用於對HTTP協議傳輸的數據進行加密,從而就誕生了HTTPS。HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網絡協議,比http協議安全。因此涉及到重要信息好多使用https鏈接。

 

采用HTTPS協議的服務器必須要有一套數字證書,可以自己制作,也可以向組織申請。區別就是自己頒發的證書需要客戶端驗證通過,才可以繼續訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。本次測試就會提示證書不可信是否繼續訪問界面。

 

證書獲取可以讓開發提供或者自己獲取,自己獲取首先先訪問需要測試的地址,然后從瀏覽器中將證書導出,導出格式默認.cer文件,需要轉換為loadrunner識別的.pem模式(直接修改后綴名把.cer為.pem可以使用,大家可以嘗試修改),其他轉換方法大家可以找度娘幫助解決。

 

IE瀏覽器獲取方法:

Inetenet選項--內容--證書--找到相應證書並導出

 

 

 

 

二、證書導入

 

把從瀏覽器或者開發那里得到的證書導入到loadrunner,然后對錄制的地址和端口號協議等進行配置。

 

1、進入配置界面

 

 

以下是兩種進入配置界面的方法:

新建錄制:Start Recording---Options---PortMapping

或者Tools--Recording Options打開設置界面

打開的界面如下圖所示。

 

 

 

2、Capture level選擇

 

Capture Level默認選中的為Socketlevel data,而關於Capture Level這個選擇loadrunner有以下一段解釋,不同瀏覽器錄制時選擇類型不同。使用IE瀏覽器時本次腳本需要選擇WinlNet level data。火狐瀏覽器選擇了第三種,不選擇第三種錄制內容都是空白,腳本不能錄制。

 

a、Socket leveldata. 
Capture data using trapping on the socket level only. Port mappings apply inthis case (default).

b、WinINetlevel data. 
Capture data using hooks on the WinINet.dll API used by certain HTTPapplications. The most common application that uses these hooks is InternetExplorer. Port mappings are not relevant for this level.

c、Socket leveland WinINet level data. 
Captures data using both mechanisms. WinINet level sends information forapplications that use WinINet.dll. Socket level sends data only if itdetermines that it did not originate from WinINet.dll. Port mapping applies todata that did not originate from WinINet.dll.

 

 

 

 

3、內容配置

 

點擊New Entry新增,以下是具體內容:

TargetServer:設置地址svn.qwerty.com也可以是IP例如192.168.0.1

Port:端口號 例如1234

ConnectionType:選擇SSL

 

主要注意SSL configuration里面的幾項選擇,SSL verison 里面包括ssl協議, 以及TLS協議,這里你錄制的是什么協議就選擇什么協議,最后選項導入證書,把我們下載得到的證書導入到loadrunner,點擊選擇導入的證書導入即可。

 

 

 

4、打開run-timesettings>preferences (根據需要)

 

1、使用IE瀏覽器進行錄制

 

將winlnetreplay instead of scokets(windows noly) 打勾(設置這一項則數字證書在瀏覽器中獲取);如果參數化數字證書,則此項不用打勾。默認情況下我們的腳本是通過sockets端口方式進行回放的,某些情況下這種回放會被服務器拒絕,這時可以換用winlnet的引擎來回放腳本。Ie瀏覽器也是基於winlnet引擎的,所以兼容性比較好一點,其他瀏覽器可能是socket。

 

 

 

 

配置完成后進行腳本錄制,用loadrunner錄制腳本時發現這次https腳本可以錄制,但是未錄制到用戶名和密碼,所以回放不成功,腳本需要更改這時我們需要添加web_set_user函數,這個函數可以讓我們輸入賬號驗證信息。

 

web_set_user("useradmin",

              lr_decrypt("password"),

              //明文密碼,下面是loadrunner錄制的密碼,兩種密碼都可以使用

              //lr_decrypt("591e5543c21012e4f3d92abc206d91"),

              "svn.qwerty.com:123456");//地址和端口號

 

以下是IE錄制的腳本

 

 

添加web_set_user函數,可以正常回放並且能跑通,解決不能錄制到用戶信息問題。

 

 

 

2、火狐瀏覽器錄制

 

火狐瀏覽器能錄制到登錄信息,缺少協議類型,我們需要添加一個協議類型的函數腳本就可以跑通,

web_set_sockets_option("SSL_VERSION","TLS");

//作用是增加使用協議具體的類型,使腳本能夠正常運行。

 

 

以上就是本次測試過程中遇到的問題和解決辦法,希望能幫到大家解決loadrunner對https腳本錄制的問題。

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM