loadrunner 針對https的處理


在測試https請求的時候發現無法通過,並且報錯
Action.c(31): Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "xxxxxxxx" failed: [10054] Connection reset by peer      [MsgId: MERR-27780]

 

如圖:

 

Loadrunner默認發送是通過sockets(將http轉換為sockets)發送的,而sockets默認SSL的版本為SSL2和SSL3。HTTPS協議錄制的腳本以SSL3版本回放時會使sockets端口連接失敗,會被服務器拒絕連接。

方法一:設置Run-time Setting

找到Internet Protocol - Preferences - Advanced,勾選“winlnet replay instead of sockets(windows only)”選項,即可。

如圖:

 

勾選這個選項后,LR就會使用winlnet的引擎回放腳本(只有windows使用)。設置這一項則數字證書在瀏覽器中獲取;如果參數化數字證書,則此項不用打勾。

 

方法二:缺少https證書

 
解決方案:
1. 得到web網頁的.cer證書
2. 借助openssl轉換證書的格式為perm
3. loadrunner配置
 
======================================================
具體:
 
1. Google瀏覽器中先得到web網頁的.cer證書
 
 
 
這邊選擇的格式需要記住,后續需要轉換。
選擇要保存的路徑和文件名,完成.cer證書的導出。
2. openssl 轉換證書格式
LR只支持.perm格式的證書,需要借助openssl。
① 下載openssl
官網的openssl貌似是win32的,win64不兼容
 
有時間也可以自己編譯折騰一下(需要安裝Perl、VS10、openssl),可以根據以下的教程來做: http://blog.csdn.net/houjixin/article/details/25806151
② 轉換
打開cmd,運行openssl
 
中間打了馬賽克的就是轉換前后證書路徑文件,一定要加上路徑。
  • 路徑不對會如下報錯:
 
  • 轉換的命令和cer文件的編譯格式有關系,如果不對,會報如下錯誤:
 
 
以下是openssl命令的格式:
 
 
3. Loadrunner設置證書
 
https的端口號就固定的443。
 
5、配置完畢后,重新錄制腳本,正常情況下,錄制的腳本前面會出現證書信息,如下所示:
 
          
web_set_certificate_ex("CertFilePath=admin149.pem", 
                "CertFormat=PEM", 
                "KeyFilePath=admin149.pem", 
                "KeyFormat=PEM", 
                "Password=123456", 
                "CertIndex=1",

LAST);

6、若再報:GENERAL_MSG_CAT_SSL_ERROR: Connection failed to host during replay of the script 

放在   web_set_certificate_ex  前面
web_set_sockets_option("SSL_VERSION","TLS");
 
備注:
若出現:安全警報:該站點安全證書不可用,是否繼續。
是因為該證書是開發自己弄的,並不能在信任機構中找到該證書,此時就是這個證書沒法用。那么loadrunner就不能用了

 


免責聲明!

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



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