51Testing软件测试论坛

标题: loadrunner录制脚本怎么模拟异步操作? [打印本页]

作者: 被咬哭的柚子    时间: 2017-6-22 12:46
标题: loadrunner录制脚本怎么模拟异步操作?
场景:录制脚本,模拟用户打开某一功能页面;
目的:查看页面数据加载时间相应。
页面数据主要获取方式:调用restapi获取数据。
问题:录制的脚本回放时都是串行执行的,按照录制的发送请求的顺序来执行的。举例:有A.B.C 3个post请求,实际页面加载时他们是异步执行的,就是A.B.C  3个请求执行顺序不会互相影响。但是通过loadrunner录制脚本后,回放时 就只能 按A->B->C这么的执行顺序了。
造成后果:LR测试得出响应时间明显比实际访问页面的时间要长很多。
请问:如何才能解决这个问题?
作者: jingzizx    时间: 2017-6-22 19:45
不清楚,帮顶
作者: 安然独宠    时间: 2017-6-23 08:58
帮顶,我也想问个同步异步的问题
作者: 清晨一缕阳光    时间: 2017-6-23 10:33
LR不会,坐等大神解答!
作者: lamecho    时间: 2017-6-23 14:54
用你的例子,准备三台虚拟机,分别回放这三个请求。
lr执行步骤肯定是按顺序执行,你只要做到划分好场景去实现你的测试目的即可。
作者: 被咬哭的柚子    时间: 2017-6-26 08:35
lamecho 发表于 2017-6-23 14:54
用你的例子,准备三台虚拟机,分别回放这三个请求。
lr执行步骤肯定是按顺序执行,你只要做到划分好场景去 ...

嗯,回去试试,这方法不能很精确的模拟实际场景,但也只能这么搞了
作者: y2907818    时间: 2017-6-30 11:39
你可以试下
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。
在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。
作者: 被咬哭的柚子    时间: 2017-7-13 16:19
y2907818 发表于 2017-6-30 11:39
你可以试下
web_concurrent_start()
A

这个函数看着超级有用啊!
作者: 被咬哭的柚子    时间: 2017-7-13 17:27
被咬哭的柚子 发表于 2017-7-13 16:19
这个函数看着超级有用啊!

加了事务,查看响应时间明显不对啊,事务要怎么设置啊
作者: y2907818    时间: 2017-7-14 09:37
lr_start_transaction("啊啊");
web_concurrent_start()
A
B
C
web_concurrent_end()
lr_end_transaction("啊啊",LR_AUTO);

这样加  统计你三个并发请求的响应时间, 如果要统计单个事物比如A,那就把事物加在A 上;有时候你操作界面的时候觉得快,其实页面还在不停的加载资源可能感觉不出来,所以你加了事物统计之后发现时间好像和操作时候出入比较大,你可以压测后在图形分析时候调出每个页面的响应时间,找找看是那些请求比较耗时
作者: linneiwei    时间: 2017-7-14 14:28
http://bbs.51testing.com/thread-981158-1-1.html

参照下这篇文档,其实loadrunner 不能模拟浏览器并发,所以测试的指标时间没什么借鉴作用,除非是测试单个http接口

http://bbs.51testing.com/thread-992353-1-1.html




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2