2013-03-20 58 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