LoadRunner系列之—-04 錄制基於https協議的腳本


  實際性能測試過程中,有些需錄制腳本的頁面或接口是基於https協議的,按原來方法錄制腳本,錄完了腳本是空的。為解決這個問題,第一步了解https協議的具體實現,這塊網上資料很多,可參考頁面下方參考資料中鏈接;第二步實踐。

  如下為具體操作步驟如下:

1. 獲取證書

1.1 通過ie瀏覽器訪問https:  

1.1.1 點擊右上角黃色的鎖或者在工具選項查找安全證書,選詳細信息標簽后,把安全證書復制到文件;

1.1.2 按照對話框中提示信息,輸入要保存的名稱保存到所選路徑下!具體如圖:

圖1.保存安全證書

 

1.2 用openssl實現私鑰和證書的格式轉換

LR的安裝目錄下,包含OpenSSL的工具。路徑如下:... HP\LoadRunner\bin

openssl 詳細使用參考

 

CER/DER--PEM(編碼DER--BASE64)
x509 -inform der -in C:\Users\nan\Documents\baidu.cer -out certificate.pem

 

圖3.執行openssl命令

 

2. LoadRunner Recording Option 設置

2.1 Network:Port Mapping設置

options->netword下的port mapping,設置為winnet level data,或者Socket level and WinNet level Data

2.2 Network:Port Mapping中增加一個Server Entry

LoadRunner,選擇:Web (HTTP/HTML)協議錄制,添加url,打開option選項在NetWork選項中新添加一個Entry如下圖:


圖2.Server Entry 設置

 

注釋1:如需指定某台服務器,可以在Target Server中輸入ip,否則可以為默認值Any Server;
注釋2:SSL verison 里面包括ssl協議的 以及TLS協議,一般情況下默認;
注釋3:Use specified client-side dertificate (64-PEM)選擇下載好的客戶端證書,LoadRunner目前支持crt、pem,設置完成后點update;
注釋4:Password用於設置安全證書的密碼。

 

2.3 使用IE瀏覽器進行錄制

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

Ie瀏覽器也是基於winlnet引擎的,所以兼容性比較好一點,其他瀏覽器可能是socket。

 

2.4 回放腳本時報錯

問題:主要報錯是ssl隧道的問題:SSL protocol error

解決方法:需要設置Run-Time settings -> Preferences -> Advanced , 勾選上 WinInet replay instead of Sockets (Windows only) 。


3、 錄制時存在的問題解決

在錄制初始,彈出第一個問題“Internet Explorer cannot display the webpage”類似,這主要是因為支持長度不對,具體原理不再描述只說解決方案

問題解決如下(Windows 7):執行:cmd

然后執行命令:certutil -setreg chain\minRSAPubKeyBitLength 512重啟電腦,問題解決

 

-------------------------------其他問題------------------------------

1. 如何錄制雙向SSL腳本?

由於LR的機制是利用LR模擬瀏覽器與服務器進行交互,所以證書需要安裝在IE瀏覽器里。

2. 參考資料

https原理:證書傳遞、驗證和數據加密、解密過程解析 - http://www.cnblogs.com/zhuqil/archive/2012/07/23/2604572.html

 


免責聲明!

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



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