loadrunner录制脚本怎么模拟异步操作?
场景:录制脚本,模拟用户打开某一功能页面;目的:查看页面数据加载时间相应。
页面数据主要获取方式:调用restapi获取数据。
问题:录制的脚本回放时都是串行执行的,按照录制的发送请求的顺序来执行的。举例:有A.B.C 3个post请求,实际页面加载时他们是异步执行的,就是A.B.C3个请求执行顺序不会互相影响。但是通过loadrunner录制脚本后,回放时 就只能 按A->B->C这么的执行顺序了。
造成后果:LR测试得出响应时间明显比实际访问页面的时间要长很多。
请问:如何才能解决这个问题? 不清楚,帮顶 帮顶,我也想问个同步异步的问题 LR不会,坐等大神解答! 用你的例子,准备三台虚拟机,分别回放这三个请求。
lr执行步骤肯定是按顺序执行,你只要做到划分好场景去实现你的测试目的即可。 lamecho 发表于 2017-6-23 14:54
用你的例子,准备三台虚拟机,分别回放这三个请求。
lr执行步骤肯定是按顺序执行,你只要做到划分好场景去 ...
嗯,回去试试,这方法不能很精确的模拟实际场景,但也只能这么搞了 你可以试下
web_concurrent_start()
A
B
C
web_concurrent_end()
这样包起来中间的内容ABC就会同时提交了
web_concurrent_start函数是并发组开始的标记。组中所有的函数是并发执行的。并发组的结束web_concurrent_end 函数。在并发组中,可以包含的函数有:web_url、web_submit_data、web_custom_request、web_create_html_param、web_create_html_param_ex、web_reg_save_param、web_add_header。
在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。 y2907818 发表于 2017-6-30 11:39
你可以试下
web_concurrent_start()
A
这个函数看着超级有用啊! 被咬哭的柚子 发表于 2017-7-13 16:19
这个函数看着超级有用啊!
加了事务,查看响应时间明显不对啊,事务要怎么设置啊 lr_start_transaction("啊啊");
web_concurrent_start()
A
B
C
web_concurrent_end()
lr_end_transaction("啊啊",LR_AUTO);
这样加统计你三个并发请求的响应时间, 如果要统计单个事物比如A,那就把事物加在A 上;有时候你操作界面的时候觉得快,其实页面还在不停的加载资源可能感觉不出来,所以你加了事物统计之后发现时间好像和操作时候出入比较大,你可以压测后在图形分析时候调出每个页面的响应时间,找找看是那些请求比较耗时 http://bbs.51testing.com/thread-981158-1-1.html
参照下这篇文档,其实loadrunner 不能模拟浏览器并发,所以测试的指标时间没什么借鉴作用,除非是测试单个http接口
http://bbs.51testing.com/thread-992353-1-1.html
页:
[1]