Loadrunner錄製https指令碼

來源:互聯網
上載者:User

標籤:根據   setting   一點   部署   ase   連接埠號碼   cas   post   pre   

Loadrunner錄製https指令碼原創 2017-07-10 愛測未來 愛測未來

隨著公司的發展,公司原有的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。Firefox瀏覽器選擇了第三種,不選擇第三種錄製內容都是空白,指令碼不能錄製。

 

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、Firefox瀏覽器錄製

 

Firefox瀏覽器能錄製到登入資訊,缺少協議類型,我們需要添加一個協議類型的函數指令碼就可以跑通,

web_set_sockets_option("SSL_VERSION","TLS");

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

 

 

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

 

 

 

 

 

 

Loadrunner錄製https指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.