51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3755|回复: 11
打印 上一主题 下一主题

[求助] loadrunner录制脚本怎么模拟异步操作?

[复制链接]
  • TA的每日心情

    2016-8-23 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2017-6-22 12:46:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    场景:录制脚本,模拟用户打开某一功能页面;
    目的:查看页面数据加载时间相应。
    页面数据主要获取方式:调用restapi获取数据。
    问题:录制的脚本回放时都是串行执行的,按照录制的发送请求的顺序来执行的。举例:有A.B.C 3个post请求,实际页面加载时他们是异步执行的,就是A.B.C  3个请求执行顺序不会互相影响。但是通过loadrunner录制脚本后,回放时 就只能 按A->B->C这么的执行顺序了。
    造成后果:LR测试得出响应时间明显比实际访问页面的时间要长很多。
    请问:如何才能解决这个问题?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 07:27
  • 签到天数: 2816 天

    连续签到: 4 天

    [LV.Master]测试大本营

    2#
    发表于 2017-6-22 19:45:02 | 只看该作者
    不清楚,帮顶
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-25 15:49
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]测试营长

    3#
    发表于 2017-6-23 08:58:28 | 只看该作者
    帮顶,我也想问个同步异步的问题
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-11-1 14:56
  • 签到天数: 1182 天

    连续签到: 1 天

    [LV.10]测试总司令

    4#
    发表于 2017-6-23 10:33:15 | 只看该作者
    LR不会,坐等大神解答!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-3-30 09:35
  • 签到天数: 172 天

    连续签到: 6 天

    [LV.7]测试师长

    5#
    发表于 2017-6-23 14:54:47 | 只看该作者
    用你的例子,准备三台虚拟机,分别回放这三个请求。
    lr执行步骤肯定是按顺序执行,你只要做到划分好场景去实现你的测试目的即可。

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-8-23 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
     楼主| 发表于 2017-6-26 08:35:08 来自手机 | 只看该作者
    lamecho 发表于 2017-6-23 14:54
    用你的例子,准备三台虚拟机,分别回放这三个请求。
    lr执行步骤肯定是按顺序执行,你只要做到划分好场景去 ...

    嗯,回去试试,这方法不能很精确的模拟实际场景,但也只能这么搞了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2017-6-30 11:39:18 | 只看该作者
    你可以试下
    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。
    在并发组中的函数不是立即执行的。在并发组开始时,所有的函数首先被记录下来,当并发组结束时,所有的函数并发执行。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-8-23 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2017-7-13 16:19:35 | 只看该作者
    y2907818 发表于 2017-6-30 11:39
    你可以试下
    web_concurrent_start()
    A

    这个函数看着超级有用啊!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-8-23 11:30
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    9#
     楼主| 发表于 2017-7-13 17:27:20 | 只看该作者
    被咬哭的柚子 发表于 2017-7-13 16:19
    这个函数看着超级有用啊!

    加了事务,查看响应时间明显不对啊,事务要怎么设置啊
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2017-7-14 09:37:34 | 只看该作者
    lr_start_transaction("啊啊");
    web_concurrent_start()
    A
    B
    C
    web_concurrent_end()
    lr_end_transaction("啊啊",LR_AUTO);

    这样加  统计你三个并发请求的响应时间, 如果要统计单个事物比如A,那就把事物加在A 上;有时候你操作界面的时候觉得快,其实页面还在不停的加载资源可能感觉不出来,所以你加了事物统计之后发现时间好像和操作时候出入比较大,你可以压测后在图形分析时候调出每个页面的响应时间,找找看是那些请求比较耗时
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2017-7-14 14:28:11 | 只看该作者
    http://bbs.51testing.com/thread-981158-1-1.html

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

    http://bbs.51testing.com/thread-992353-1-1.html
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-22 06:50 , Processed in 0.072075 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表