關注LoadRunner腳本回放日誌中的Warning信息html
最近在與你們的討論中發現了LoadRunner的不少問題,出於解決問題的出發點,我也就相關本身不理解的問題在Google中搜索了一番,並經過一些實例也去實際操做了一遍,發現不少問題確實並非那麼難解決,而只是咱們不夠細心,沒有認真去分析和總結。這裏簡單列舉我最近去研究的一個問題,就是關於LoadRunner在腳本回放日誌中出現的Warning信息,也就是所謂的警告信息,一般咱們可能以爲只要在錄製回放過程當中沒有報error就認爲腳本是ok的,可是到真正去場景中去運行才發現,會不斷報錯,並且不少錯誤都以爲很摸不到頭腦,由於總會出現一些咱們始料不及又難以理解的錯誤信息,其實這個時候咱們並是第一時間就去尋求幫助,去論壇發貼,由於你沒有到錯誤的根本,別人也很難幫你,若是說貼出腳本幫你調試,那估計有這個時間的人也很少,因此解決問題的方法很重要,這種方法最主要仍是要靠本身來分析和總結,哪怕是最後沒有分析出什麼,也至少先去google一下,若是有解答最好,沒有解答,可能不是通常的問題,可能你們都沒有碰到,這就說明這個問題多是因爲個人操做的失誤等等。因此說解決問題應該先問本身,我分析了嗎?java
我經過java寫了一個簡單的登陸系統頁面,經過LR來錄製登陸過程並生成腳本,設置了自動關聯,並回放錄製腳本,觀察回放日誌發現沒有報error信息,說明腳本沒有問題,將腳本放入Controller中設置100個用戶設置運行,發現運行一段時間開始報錯,這裏先不說報什麼錯,繼續觀察腳本,回到Vuser中調試,再次回訪觀察日誌文件,發現以下信息:web
Warning -27077: The "vuser_init" section contains web function(s) when the "Simulate a new user on each iteration" Run-Time Setting is ON. This may produce unpredictable results with multiple iterations [MsgId: MWAR-27077] 仔細分析發現這裏的警告信息提示"Simulate a new user on each iteration",表示在每次迭代都模擬一個新的用戶,對於web登陸系統來講,一般都是用session來保存cookie信息,而"Simulate a new user on each iteration"是LR中的一項缺省設置,按照LR手冊來說,這個選項通常帶來的反作用並不十分明確。咱們再來作另一個實例,就是一個數據添加頁面,經過錄制腳原本添加數據,回放過程當中也提示該信息,沒有提示error信息,將腳本放入Controller中運行,設置100個用戶,設置每一個用戶迭代運行2次,按照計算來說就是添加200條記錄,開始運行,結果發現實際數據庫中只新增了100條記錄,再回頭尋找緣由發現腳本回放中的"Simulate a new user on each iteration",會不會跟這個有關係,根據理解,每次迭代模擬一個新用戶來運行,並且該設置在LR中缺省,並默認也是狀況緩存的,也就是說同時狀況了session信息,致使每次都須要從新來創建新的session才能能夠添加數據,在分析日誌發如今循環迭代中有一個訪問頁面timeout.jsp,從這裏能夠發現是session超時引發的,能夠猜測在兩次迭代中確定是清除了cookie。在LR中找到"Simulate a new user on each iteration"的設置區域,以下圖:數據庫
經過上圖發現LR默認就是設置勾選"Simulate a new user on each iteration"該選項,去掉勾選以後再回放腳本,觀察回放日誌發現,Warning信息已經消失了。緩存
一樣將腳本放置Contoller中繼續以前設置,開始循環運行,結果會如期而至的。cookie
經過兩個簡單的實例來講明LR中腳本調試的一些關注點,對於日誌中警告信息並非沒有緣由的,既然是警告信息就總有可能遇到,否則系統也不會給出提示,固然在web測試中可能仍是特別的多見,其實在作關聯的時候也常常有warning提示。若是你們作過客戶端軟件的壓力測試時,應該就比較熟悉warning了,一般一些客戶端軟件因爲一些特定的協議,LR支持不太好,總會在錄製的腳本運行以後發現有丟包現象,可是不會以錯誤的形式來提示,而是在回放日誌以warning來提示。session
以上是我的在學習LR中的一點收穫,經過不斷總結,纔會積累的更多,LoadRunner其實仍是比較複雜的,若是簡單的問題都不能搞明白,後面的分析就更無從談起了。jsp