51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2338|回复: 5
打印 上一主题 下一主题

[原创] 为什么要进行关联?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-12-7 11:22:05 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
LR中关联有什么作用?为什么要关联?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
    发表于 2011-12-11 22:33:34 | 只看该作者
    客户端输入的如果是变量,就需要用到参数化。
    服务器输出的如果是变量,就需要用到关联。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2011-12-11 14:55:48 | 只看该作者
    其实很多问题你自己一搜会有很多答案的
    还可以快速解决你的疑问
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2011-12-11 14:55:06 | 只看该作者
    一.关联介绍:
             LR录制的脚本只是忠实记录了所有从客户端发送到服务器端的数据,并在脚本回放的时候按照录制的顺序将录制下来的数据重新发送出去。但是,实际上许多的系统都采用SessionID或SeqID等方法来标识不同的任务和数据报,应用在每次运行时发送的数据并不完全相同。所以,为了让脚本能够支持测试的需求,就必然要用某种机制对脚本的数据进行出来了。总之一句话:通过关联可以在测试中保持动态值。
       二.一般的关联步骤:
          1.从服务器返回的数据中选取需要进行关联的数据。
          2.将该数据存入脚本的一个参数中
          3.将脚本中需要使用该数据的地方用参数来替换。
         Tip:对于web来说,一般会用一个hidden 的 field存放。所以在可以服务器返回的记录查找该字段值。
        三:关联的目的:
           1.简化或优化代码
            例如,如果依次执行一系列的相关查询,您的代码可能会变得很长。为了减少代码的大小,可以嵌套查询,但这样会失去准确性,而代码会变得复杂而难以理解。通过关联语句,不需要嵌套就可以链接查询。
           2.用于动态数据      
           许多应用程序和网站当前日期和时间标识会话。如果尝试重播脚本,该操作将会失败,应为当前时间与录制时间不同(LR自带的WEB演示程序)。通过关联数据可以保存动态数据,并在整个方案过程中使用这些数据。
         四:关联操作
         方法一:自动关联
            1.Tools -Recording Options。
            2.设置完成后录制登陆 - 退出过程。
            3.利用LR自带的自动关联进行关联。
         方法二:手动关联
             1:录制测试脚本,录制二遍
             2:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联(Tools下的 Compare with Vuser进行2个相同操作的脚本对比)
             3:确定插入关联的位置
              4:在VIEW TREE中使用web_reg_save_param函数手动建立关联
              5:将脚本中有用到关联的数据,用参数代替
            6:验证关联的正确性
         五:定位需要关联操作
             1.Vuser -Scan Script. for Correlations
             2.在Server Response 中进行比对2次服务器变化的数值。
          六:常见的需要关联的场景
             1.登录操作。
             2.先查后修改,先差后删除。
             3.并发控制:防止2个用户同时修改或同时删除一条记录。
          七:关联函数模型
           int web_reg_save_param (const char *ParamName, <List of Attributes>, LAST);  成功返回R_PASS(0),失败LR_FAIL(1)
            例子:web_reg_save_param ("Test","LB=userSession Value","LB=>","Ord=1"
                   "RelFrameID=1.21","Serch=Body","IgoreRedirections=Yes",LAST);
    http://blog.sina.com.cn/s/blog_83705ef20100sarw.html
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2011-12-8 10:11:21 | 只看该作者
    求各位大侠出手,新手一个,关于lr理论等都不是很清晰
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
     楼主| 发表于 2011-12-8 10:10:22 | 只看该作者
    请问是在脚本出错的时候才要关联吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-12 08:26 , Processed in 0.063080 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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