zoukankan      html  css  js  c++  java
  • LoadRunner 技巧之 自动关联

       

      这一节讲loadunner 关联的问题,其实这个东西理解起来简单,但说起来比较麻烦。

     

    关联的原理:                                                                                            

      先来模拟一个场景,我去坐火车,坐火车要先检票,检票员核对火车票的时间、班次等信息正确后允许我坐火车。

      过了几天,我又拿着一张票去坐火车,检票员再一次核对火车票信息,发现这张票过期了,肯定不让我坐了。那我怎么才能坐火车呢?我先看看旁边那哥们的火车票上的信息,然后把自己的查票涂改成和他一模一样再去坐火车。

      在我们录制测试脚本时也经常会遇到这样的情况:录制的时候,服务器会给一个唯一的认证码来进行操作,当再次回放脚本的时候服务器又会给一个全新的认证码,而脚本录制是死的,还是拿老的认证码提交,从而导致脚本执行时失败。

     

    下面详细来分析一下录制与回放的过程

    录制过程:

     

    1、输入用户名密码登录

    2、服务器端返回一个sesiionID@@@12345

    3、客户端拿着获得sesiionID@@@12345进一步请求服务器信息。

    4、服务器返回客户端想要的信息

    回放过程:

    1、输入用户名密码登录

    2、客户端返回新的sesiionID@@@23456

    3、因为脚本中的sesiionID@@@12345 是写死的,所以我们会依然拿着老的sesiionID@@@12345去向服务器请求信息

    4、服务器你经过验证发现你的sesiionID@@@12345 是错误的。

     

     

    为了确保脚本回放的成功,我们需要获得服务器每次返回的动态的sesiionID,再将这个动态数据发回给服务器。而关联能够帮助我们将服务器返回的数据进行处理并保存为参数。

     

    OK!通过上面的分析,我们大概明白的关联的原理,下面要解决的问题就是如何设置关联。关联的三种方法:

    • 自动关联
    • 手动关联
    • 一边录制一边关联

     

     

    自动关联                                                                                                    

     

    在录制脚本之后打开recording Options 窗口,点击correlation标签页。确保Enable correlation during recording 选项处于勾选状态。

     

    LoadRunner 自带WebTours为例设置关联,

    访问WebTours首页,点击administration 链接, 设置 Set LOGIN form's action tag to an error page. 勾选更新。

     

    录制WebTours登录与退出脚本:

    Action()
    {
    
        web_url("WebTours", 
            "URL=http://127.0.0.1:2080/WebTours/", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t1.inf", 
            "Mode=HTML", 
            LAST);
    
        web_url("favicon.ico", 
            "URL=http://127.0.0.1:2080/favicon.ico", 
            "Resource=1", 
            "Referer=", 
            LAST);
    
        web_submit_data("login.pl", 
            "Action=http://127.0.0.1:2080/WebTours/login.pl", 
            "Method=POST", 
            "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
            "Mode=HTML", 
            ITEMDATA, 
            "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
            "Name=username", "Value=test", ENDITEM, 
            "Name=password", "Value=123456", ENDITEM, 
            "Name=JSFormSubmit", "Value=on", ENDITEM, 
            LAST);
    
        web_submit_data("login.pl_2", 
            "Action=http://127.0.0.1:2080/WebTours/login.pl", 
            "Method=POST", 
            "RecContentType=text/html", 
            "Referer=http://127.0.0.1:2080/WebTours/nav.pl?in=home", 
            "Snapshot=t2.inf", 
            "Mode=HTML", 
            ITEMDATA, 
            "Name=userSession", "Value=110381.833940867fzHHHzfpfiDDDDDDDtAzzpfQDf", ENDITEM, 
            "Name=username", "Value=test", ENDITEM, 
            "Name=password", "Value=123456", ENDITEM, 
            "Name=JSFormSubmit", "Value=on", ENDITEM, 
            "Name=login.x", "Value=52", ENDITEM, 
            "Name=login.y", "Value=1", ENDITEM, 
            LAST);
    
        web_image("SignOff Button", 
            "Alt=SignOff Button", 
            "Snapshot=t3.inf", 
            LAST);
    
        return 0;
    }

     

    回放脚本出错: 

    Action.c(47): Error -27987: Requested image not found      [MsgId: MERR-27987]
    Action.c(47): web_image("SignOff Button") highest severity level was "ERROR", 0 body bytes, 0 header bytes      [MsgId: MMSG-26388]

     

    选择菜单栏Vuser ---> Scan Script for Correlations (快捷键ctrl + F8 )弹出下面窗口

    扫描相关性可能需要几分钟,你想继续么? 当然,点击“YES

    选中需要关联的内容,点击“ remove Correlation 

     

     

     

  • 相关阅读:
    mysql 中文字段排序( 按拼音首字母排序) 的查询语句
    纯css3样式属性制作各种图形图标
    10个超有用的网页设计工具和资源
    手风琴导航效果实现
    css3动画导航实现
    java实现将资源文件转化成sql语句导入数据库
    select实现输入模糊匹配与选择双重功能
    js一些问题总结
    java实现excel与mysql的导入导出
    《C++程序设计》朝花夕拾
  • 原文地址:https://www.cnblogs.com/fnng/p/2945303.html
Copyright © 2011-2022 走看看