国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 應用 > 軟件技巧 > 正文

LoadRunner登錄腳本認證失敗的原因及解決方法

2024-07-05 04:45:31
字體:
來源:轉載
供稿:網友

  測試對象:某Web即時通訊系統(以下稱WebIM)

  開發語言:xml

  數據通訊協議:Web(HTTP/HTML)協議、Windows Sockets協議

  底層數據庫:MySQL

  服務器操作系統:Redhad 4

  腳本實現功能:登入系統后,再退出系統。

  問題1:錄制開發的腳本可以成功回放,但是數據庫的logout表里卻查不到“登出”的用戶?

  分析:錄制的時候只選用了單協議:Web(HTTP/HTML)協議,而WebIM的實現不只用到了Web(HTTP/HTML)協議,也用到了 Windows Sockets協議。在定位了問題的"原因"之后,筆者嘗試錄制多協議的腳本,結果回放失敗。回放失敗是因為Webim在登錄的過程中有個加密驗證的過程。腳本回放時提交了上一次的經過Sha1加密后的密文,而此時服務器端的Sha1密文已經發生了改變。從而導致了失敗。

  解決方法:

  a、使用雙協議錄制腳本

  b、開發Sha1算法的DLL文件并在腳本中調用。

  問題2:錄制的腳本中并沒有捕獲到服務器返回的session ID?

  分析和方案:Webim的開發用到了XML和Windows Sockets協議,因此按照正常的思路,Loadrunner在錄制腳本時,也應該采用XML和Windows Sockets協議,但實際情況是這樣的,錄制的腳本中并沒有捕獲到服務器返回的Session ID。既然公司內網的Jabberd服務器有專門的測試客戶端,筆者決定通過這個客戶端錄制腳本,由于這個客戶端和服務器的通信協議是Windows Sockets,因此錄制協議也采用了這個最底層的協議。這一次,錄制的腳本中捕獲到了服務器返回的Session ID。為了保證腳本回放時能夠動態的獲取到這個Session ID,需要做“關聯”操作,筆者使用了lrs_save_searched_string()函數,對腳本做了處理。

  問題3:如何調用Dll來對服務器返回的序列和PassWord加密,以產生Sha1的密文?

  分析和方案:腳本中加載了Dll庫文件后,在調用庫文件中的加密函數對Session ID+Password字符序列加密時,必須采用如下格式endes(a,b),其中的a代表源序列,b代表密文。經過這樣的步驟處理后,調試腳本,就可以看到密文了。

  問題4:Buf中參數化密文后,腳本還是不能編譯通過,存在語法錯誤?

  分析和方案:發現Loadrunner參數化,是按照它內置的機制執行的,符合這個機制,編譯就能通過。

  后來在Gen中的Tools—>general option中找到了可以更改這個機制的地方,修改完了之后,腳本再次編譯,這次OK了。

  問題5:錯誤提示:沒有足夠的虛擬用戶分配給這個NewPara?

  分析和方案:loadrunner中在對用戶名和密碼或其他數據參數化了以后,不要將參數刪除后,重新參數化,否則就會出現上述問題。筆者決定重新錄制腳本,重新參數化,重新修改腳本。事實證明這樣做是正確的,編譯運行后,5個虛擬用戶的腳本正確無誤的通過。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潼南县| 襄樊市| 阿巴嘎旗| 潜江市| 易门县| 宜春市| 阿拉善右旗| 山东| 民和| 太保市| 连江县| 晋中市| 彩票| 响水县| 南投市| 兴化市| 赤水市| 玉龙| 南充市| 镇坪县| 阿图什市| 开阳县| 抚远县| 邯郸县| 进贤县| 璧山县| 旌德县| 阿拉尔市| 鄢陵县| 夏津县| 文化| 射洪县| 临清市| 湖南省| 汶川县| 定安县| 景洪市| 隆林| 右玉县| 墨玉县| 儋州市|