51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2541|回复: 10
打印 上一主题 下一主题

[原创] LR 关于 “关联函数” 的一个经验分享!

[复制链接]
  • TA的每日心情
    奋斗
    2017-4-10 10:24
  • 签到天数: 183 天

    连续签到: 1 天

    [LV.7]测试师长

    跳转到指定楼层
    1#
    发表于 2015-12-10 18:01:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 maqi5630 于 2015-12-11 11:53 编辑
    首先说明本人小菜鸟一个,刚学习LR,遇到了一个关于关联函数的问题,折磨我两天,最终,终于解决了,在此分享自己的一个小小的经验,不足之处大神勿喷!首先感谢本站的@远方的小企鹅对我的帮助!
    1、问题概要:
    公司让我做一个pos系统的性能测试!就是一个美容商家用的客户管理系统!B/S架构!就是这么一个系统!按照公司要求的场景流程,我进行了脚本录制!登录系统--开单(选择客户-选择产品-支付方式-提交订单-完成订单)--注销系统!录制都没有问题!然后对录制的脚本进行回放,回放后问题出现了,在录制的过程我订单明明是已经付款的订单,但是回放后查看系统生成的订单却是未付款的!所以肯定是不符合场景需求的!于是转换录制过程中的开单流程,但是试来试去还是不行!


    2、问题解析:
    于是上网查阅了相关资料,原因是因为录制脚本中的某个参数在回放的时候与服务器返回的参数不一样了,所以不管怎么样录制都不会生成付款订单,设计的到参数就需要对脚本进行参数化设置,这里就要用关联函数(我这里主要使用的手动关联)了,关联函数的作用就是用来将脚本中固话的参数值用函数代替,这样当服务器返回某个值得时候就可以自动获取自动替换了,用了网上的各种办法和在本站发帖终于知道了原来是脚本中的订单id(oid后同) 服务器每次返回的oid值都不一样,所以我在录制好了的脚本中手动的将出现oid值的地方进行了替换(因为知道oid是以每次1递增的所以可知道下一个oid是多少),替换完后对脚本回放,果然不出所料回放后系统生成了已付款的订单了,所以可以锁定oid需要关联!



    3、问题解决:
    既然知道了oid的问题,就需要对oid进行关联了,因为本人菜鸟,所以我主观的认为,脚本中第一次出现oid信息的地方应该就是 服务器返回的oid值,于是用CTRL + F 在脚本中查找,找到脚本中第一个出现oid的地方也就是如图所示的地方添加了关联函数,添加完成后,进行回放,结果可想而知,失败,日志中还出现了报错(我也看不懂是什么原因。。。哈哈。。。),然后又进行了各种搜索,群里提问,有的人说要在TREE视图下查找,

    于是打开tree视图,看到一片茫然,哈哈,经过小企鹅的帮助(感谢小企鹅呀,哈哈哈),说是在http view 视图 的 response 中查找,
    这里才是服务返回给你的值,然后经过各种摸索终于找到了 在如图所示
    的地方找到了oid值,我一看这个值这么标准 有  name=oid  和 value=203540,又是在response 中找到的,顿时大喜,没错肯定是这个值了 于是如图所示,用这种办法创建了关联,这里其实有点半自动创建关联的感觉,网上说这是LR11 有的一种创建办法,创建好了之后,回放脚本,结果: **又失败了,又来询问群里人,说是设置左边界值不够长,和下面的 cid 重复了 要加长左边界值,于是将前面的 name=“oid”  字串加进去了,回放,失败!这时候小企鹅又出现了,和他讨论他认为 这个值可能不是服务器返回的oid值,于是乎又是一通翻来覆去的寻找,终于找到了如图所示:的oid值,这里虽然没有什么 name=oid   value=。。。,没有之前的找的oid值看上去那么标准,不过这才是真正的服务器返回的oid值,于是乎按照之前的办法选中该值,右击关联,,好了之后回放,奇迹出现了:回放成功,打开后台查看订单,生成了付款订单,哈哈哈哈(让我吃口屎,冷静冷静。。)








    tip:
    1,查找服务器返回值应该在TREE视图下,(有的人是在“生成日志“下查找的)查找该值,有没有大神能够指明下,有什么办法能够快速准确的查找到 服务器的真正的返回值?用LR自带的对比工具吗?不过我用那个也是一头雾水好多地方都不同!
    2,创建关联函数的时候左右边界值要定义好,所谓的左右边界值,就是  服务器返回值 左边 和  右边 的字符串,注意 ”  >  之类的特殊字符,需要用转义字符 \
    3,查看脚本,确认脚本中所有涉及到了服务器返回值的地方,都用关联函数名替换了!

    再次申明:本人菜鸟,第一次分享小小经验,不足之处,大神勿喷,望楼下大神指正补充!






    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2015-11-11 15:40
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2015-12-11 13:19:06 | 只看该作者
    tree和生成日志下我都 会去找
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-14 11:36
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2015-12-14 11:34:26 | 只看该作者
    顶一个!!!谢谢楼主分享,专研精神值得我们学习
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-8-4 11:02
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    5#
    发表于 2015-12-14 11:38:36 | 只看该作者
    多多去http://bbs.51testing.com/search. ... s&kw=LoadRunner
    看一下相关学习资料,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-8-4 11:02
  • 签到天数: 943 天

    连续签到: 1 天

    [LV.10]测试总司令

    6#
    发表于 2015-12-14 11:38:51 | 只看该作者
    多多去http://bbs.51testing.com/search. ... s&kw=LoadRunner
    看一下相关学习资料,谢谢!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-12-23 09:55
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2015-12-22 18:08:06 | 只看该作者
    楼主 ,看了下两个位置 ,数值 都是203540 。。我感觉只要左右边界设置对了。两个地方取值回放应该都正常。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-4-10 10:24
  • 签到天数: 183 天

    连续签到: 1 天

    [LV.7]测试师长

    8#
     楼主| 发表于 2015-12-23 09:40:27 | 只看该作者
    sss556 发表于 2015-12-22 18:08
    楼主 ,看了下两个位置 ,数值 都是203540 。。我感觉只要左右边界设置对了。两个地方取值回放应该都正常。

    应该是不行的,一定要取服务器返回给你的那个值,不然的话你取下面那个值实际上已经是在服务器返回给你之后的值了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:52
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]测试连长

    9#
    发表于 2016-6-14 17:00:41 | 只看该作者
    请问要如何快速确定服务器返回值,好多地方都有,挨个试了取到值都是null
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:52
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]测试连长

    10#
    发表于 2016-6-14 17:01:55 | 只看该作者
    maqi5630 发表于 2015-12-23 09:40
    应该是不行的,一定要取服务器返回给你的那个值,不然的话你取下面那个值实际上已经是在服务器返回给你之 ...

    怎么快速确定服务器返回值,挨个查找尝试都失败
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-15 11:52
  • 签到天数: 8 天

    连续签到: 1 天

    [LV.3]测试连长

    11#
    发表于 2016-6-14 17:02:01 | 只看该作者
    maqi5630 发表于 2015-12-23 09:40
    应该是不行的,一定要取服务器返回给你的那个值,不然的话你取下面那个值实际上已经是在服务器返回给你之 ...

    怎么快速确定服务器返回值,挨个查找尝试都失败
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-25 19:41 , Processed in 0.074558 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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