簡體   English   中英

在GWT應用程序上運行Java請求采樣器(帶有SyncProxy)的JMeter中分離用戶會話

[英]Separating user sessions in JMeter running Java Request sampler (with SyncProxy) on a GWT app

我正在使用JMeter加載測試用GWT編寫的Web應用程序。

我發現SyncProxy使我可以編寫Java代碼來執行appserver上的遠程方法,就像我是客戶端(瀏覽器)一樣。

我已經將Java代碼包裝到一個實現JMeter中的JavaSamplerClient的類中。 這意味着我可以在JMeter對象中運行自己的Java代碼,並根據測試邏輯執行該代碼。

現在的問題。 由於我沒有使用JMeter的HTTPSampler,因此我的用戶不會表現出我想要他們的方式,即彼此獨立。 使用HTTPSampler + HTTP身份驗證管理器+ HTTP Cookie管理器時,我從來沒有遇到過這個問題。

我通過修改SyncProxy解決了基本身份驗證部分,以將身份驗證數據作為每個請求的額外HTTP標頭發送。

問題是:如何最好地實施我可以使用的工具,以使用戶獨立並停止不時竊取彼此的會話?

我正在做一些非常相似的事情。

我的方法是讓一個單獨的java采樣器充當會話創建和登錄機制。

syncproxy具有多會話選項。 會話實例存儲在靜態列表類中,會話信息可由令牌選擇。 令牌引用是從jmeter線程變量構造的。

然后,當您使用主要的syncproxy Java采樣器時,請重新使用參數列表中的thread變量,並從列表中選擇正確的會話以獲取正確的jmeter線程。

注意:如果您正在使用多個會話並使用了AutoSyncProxy修補程序,則必須修改AutoSyncProxy.newProxyInstance方法以允許定義會話。

您可能會考慮進行稍微的重組。

使用JMETER采樣器登錄和維護您的會話,並將userID和會話信息(cookie或sessionID)傳遞到Java類中。

使用beanshell采樣器,您可以執行Java代碼並有權訪問jmeter變量(在這種情況下為userID和會話信息)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM