2013-03-20 28 views
1

我們有一個使用LightStreamer來傳輸數據的應用程序。它通過HTTP完成此操作。Loadrunner&Lightstreamer

我試圖用LoadRunner測試這個應用程序的性能。

我有兩個URL: URL 1創建會話ID並保持打開狀態,此URL將繼續加載 URL 2使用此會話ID發出請求。每個請求的回覆將顯示在URL1的頁面上。

我遇到的問題是,當我提出URL 1的請求時,我無法在保持此請求打開的情況下發出後續請求。我嘗試使用web_concurrent包裝器,但這會產生問題,因爲在我可以向URL 2發出請求之前,我需要從URL返回的會話ID。

獲取ID不是問題,在第一個請求仍在運行時執行請求是個問題。

以前有人使用LoadRunner成功測試過LightStreamer嗎?

這是我能在網上找到的唯一的事情,由此別人在做同樣的事情:http://www.sqaforums.com/showflat.php?Number=685960

不幸的是,他不再與我們公司工作。我試圖在LinkedIn上向他伸出援手,但我沒有多少運氣。

任何幫助將不勝感激!

回答

1

如果我理解你的問題,你正在測試在11.50版本中內置到LoadRunner中的Poll或Push通信。在開發和測試此功能的過程中,我們實際上使用了LightStreamer Demo應用程序,並且它們在記錄時由異步關聯引擎拾取了應該

如果您使用的是LoadRunner 11.5x,但沒有發生這種情況,我會希望詳細瞭解業務流程。

Shane Evans

+0

感謝您抽出時間回覆我Shane。我很感激。 以下是我迄今爲止: [代碼] web_reg_save_param( 「p_sessionid」, 「LB = SessionID的:」, 「RB = \ r」, LAST); \t的web_url( 「create_session.txt」, \t \t 「URL = 」, \t \t 「TargetFrame =」, \t \t 「資源= 0」, \t \t「RecContentType =文本/ HTML」, \t \t 「引薦=」, \t \t 「快照= t1.inf」, \t \t 「模式= HTML」, \t \t EXTRARES, \t \t 「URL = 」, \t \t ENDITEM, \t \t LAST); [/ code] – 2013-03-21 14:29:07

+0

我的下一步是弄清楚我如何解析響應,同時這個函數繼續無限運行。 答案如下: [code] ction.c(7):t = 5506ms:「URL」(RelFrameId = 1,內部ID = 1)的7字節響應主體 Action.c(7) :PROBE \ r \ n Action.c(7):t = 6607ms:「URL」(RelFrameId = 1,內部ID = 1)的59字節響應正文 Action.c(7):1,1 || 03:46:29 ||| 22:$ 215.4200 | $$ 1.9800 |||||| 2,357,903 || \ r \ n Action.c(7):t = 7609ms:「URL」的49字節響應主體(內部ID = 1) Action.c(7):1,1 |||||||| $$ 215.4100 | 5 | $$ 215.4500 || 2,358,003 || \ r \ n [/ code] – 2013-03-21 14:32:13

+0

對於第一個EXTRARES的響應總是1,1,如果我在EXTRARES塊中做出後續請求,那麼它們將是2,1和3,1,一直到n,1。 我需要一些方法來測試進行初始請求和獲取響應之間的延遲。狡猾 - 有沒有人有任何想法? 我還需要弄清楚6分鐘後結束web_url()請求的方法。使用web_set_timeout(「STEP」,600)只會在錯誤中結束web_url調用 - 這實際上並不是我所追求的。 – 2013-03-21 14:32:49

0

,我都在這裏設置,除了一個特定組成部分。

其餘的是如下: 的web_url( 「create_session.txt」, 「URL = URL」, 「TargetFrame =」, 「資源= 0」, 「RecContentType = text/html的」, 「 Referer的=」, 「快照= t1.inf」, 「模式= HTML」, EXTRARES, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, 「URL = URL」,ENDITEM, LAST);

如上所述,每個EXTRARes URL以格式1,1,2,1,3,1 ...響應,因此我使用web_reg_find來計數這些事件。我的最後一個問題是這樣的:我使用web_set_timeout(「STEP」,60);我使用web_set_timeout(「STEP」,60);我使用web_set_timeout。在60秒後停止web_url函數,但這會導致:Action。c(20):錯誤-27728:步驟下載超時(60秒)已過期[MsgId:MERR-27728]

是否可以優雅地執行此操作,因爲它將事務的返回設置爲失敗狀態以及。

0

對不起,極端延遲。假期和其他因素的混合...

您的請求超時是否影響腳本的完成能力?如果沒有,您可以使用lr_continue_on_error函數,並使用以下選項之一:

0 = LR_ON_ERROR_NO_OPTIONS 
1 = LR_ON_ERROR_CONTINUE 
2 = LR_ON_ERROR_SKIP_TO_NEXT_ACTION 
3 = LR_ON_ERROR_SKIP_TO_NEXT_ITERATION 
4 = LR_ON_ERROR_END_VUSER