2011-06-16 160 views
0

使用loadrunner加載測試時,我的所有虛擬用戶都在30分鐘後從應用程序中註銷。仔細查看,即使我們有持續的用戶活動,認證cookie也會過期。LoadRunner表單身份驗證Cookie已過期

現在我們試圖在每個操作後顯式更新cookie以防止到期,但不確定服務器如何識別身份驗證cookie已過期。該cookie只有加密文本,沒有明確的標題提及到期時間。

cookie中的哪些信息應該在認證cookie中更新以防止其過期?

的Cookie信息:

的Cookie:

.ASPXAUTH = 66DD4AB74239F00D553BA9640D3AD3F284F47DEC315FD6789AE3FB8D67D2A46A4E89EDB45845C921A7557BD6B39A12EE07188D1009D581AA7AAF6743710653AE44EEF2733CC16082C595D7AE7C73D3E7E3D44BA1BAEEFEB1BF5F98B35C5F8429670FFDD5586E03BB3138C5B78945D82702BDD7C4; path = /; HttpOnly

回答

0

告訴我們你是如何管理腳本中的會話狀態的。一般來說,如果您要清理所有Cookie併爲每次迭代實例化新會話,則不應該遇到這種情況。如果您試圖在整個測試期間保持某種單一的會話狀態,我可以看到服務器在您的原始會話在技術上從系統中註銷(作爲業務流程的一部分)之後會如何將您踢出去。

另外,你的腳本中是否有明確的cookies?如果是這樣,您可能需要考慮評論這些語句,因爲LoadRunner會自動管理Cookie。作爲刻錄的一部分,考慮運行一個單獨的虛擬用戶30分鐘到1小時,以查看您是否在單個虛擬用戶級別上體驗到這一點。對單個用戶進行修復並進行加載預測要比試圖找出數十個或數百個遇到類似問題的用戶正在發生的事情要容易得多。

+0

我還沒有明確處理我的腳本中的cookie,並認爲Loadrunner會自動處理它們。 – Rajesh 2011-06-20 04:14:21

+0

我沒有在腳本中明確地處理cookies,並認爲Loadrunner會自動處理它們。這種特殊的身份驗證表單cookie會在Vuser init操作中設置,每個用戶只會調用一次。我不確定當用戶在應用程序中執行操作時Cookie是如何重置的,或者當Vuser在Loadrunner中執行操作時cookie未獲取更新的原因。在Vuser Init部分中設置的Cookie是否不會在每次迭代中更新?無論如何,我們可以捕獲和關聯表單cookie相關信息嗎? – Rajesh 2011-06-20 05:10:30

+0

「在Vuser Init部分中設置Cookie是否不會在每次迭代中更新?」是的,vuser_init()僅在每個用戶啓動時執行一次,並且不會在每次迭代時再次執行。您可能想查看與調度和處理事件相關的使用vuser_init(),Action()和vuser_end()相關的文檔部分。 – 2011-06-21 12:57:30

0

從我可以收集的服務器記錄cookies的到期時間,它也是更新到期時間的服務器,這意味着您作爲客戶端無法控制這一點。

我認爲流動是這樣的:

The browser or LoadRunner Script will always send the cookie and the 
server then verifies it's expiry time on the server side, redirecting 
you to the login page if it has expired. 

我有這個發生在我身上,並通過服務器「更新客戶端會話過期時間」上訪問一個專門的頁面來解決它。也許你有類似的情況?