zoukankan      html  css  js  c++  java
  • loadRunner手动关联, web_reg_save_param_regexp()函数正则匹配字符,赋值给变量

    loadRunner写脚本实现登录机票网站,手动关联,获取页面源码中特定字符

    手动关联,就是通过函数获取某个步骤生成的字符,赋值给一个变量,这个变量可以作为接下来某个步骤的输入,

    以便这个脚本能够在存在关联约束关系的场景中顺利走通,例如登录机票预订系统步骤的条件之一,是需要在进入首页时获取一个动态的usersession的值,

    这个userSession的值需要在登录系统时用到,那么在通过关联函数可以在进入主业时动网页源代码中获取这个值,然后在登录时把这个值传给参数就可以了

    代码:

    Action()
    {

        //<B>sign up now</B></A> 
        web_reg_save_param_regexp(
            "ParamName=gloryroad",
            "RegExp=<B>(.*)</B></A>",
            SEARCH_FILTERS,
            "Scope=Body", 
            "IgnoreRedirections=No",
            LAST);

        web_url("index.htm", 
            "URL=http://127.0.0.1:1080/WebTours/index.htm", 
            "TargetFrame=", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t20.inf", 
            "Mode=HTML", 
            LAST);

        return 0;
    }

    结果:匹配成功

     手动关联的另一个例子:进入首页后 ,获取userSession,在登录机票系统传入这个变量

    代码:

    Action()
    {

    /*Correlation comment - Do not change!  Original value='125352.422519239zttHiVfpcDDDDDDDDizizpiQVt' Name ='userSession' Type ='ResponseBased'*/
        web_reg_save_param_regexp(
            "ParamName=userSession",
            "RegExp=name="userSession"\ value="(.*?)"/>\ <table\ border",
            SEARCH_FILTERS,
            "Scope=Body",
            "IgnoreRedirections=No",
            "RequestUrl=*/nav.pl*",
            LAST);

        web_url("index.htm", 
            "URL=http://127.0.0.1:1080/WebTours/index.htm", 
            "TargetFrame=", 
            "Resource=0", 
            "RecContentType=text/html", 
            "Referer=", 
            "Snapshot=t20.inf", 
            "Mode=HTML", 
            LAST);

        lr_save_string(lr_decrypt("5c3c9ad6232a1458"), "PasswordParameter");

        lr_think_time(6);
        

        //断言登录后的字符串
        web_reg_find("Text=Using the menu to the left",
            LAST );


        web_submit_data("login.pl",
            "Action=http://127.0.0.1:1080/cgi-bin/login.pl",
            "Method=POST",
            "TargetFrame=body",
            "RecContentType=text/html",
            "Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home",
            "Snapshot=t21.inf",
            "Mode=HTML",
            ITEMDATA,
            "Name=userSession", "Value={userSession}", ENDITEM,
            "Name=JSFormSubmit", "Value=off", ENDITEM, 
            "Name=login.x", "Value=43", ENDITEM, 
            "Name=login.y", "Value=6", ENDITEM, 
            "Name=password", "Value=xfc1", ENDITEM, 
            //"Name=userSession", "Value=    125352.083920616zttHHQHpiVzzzzzHDizizpHizQ", ENDITEM, 
            "Name=username", "Value=xfc1", ENDITEM, 
            LAST);


        return 0;
    }

    结果:

  • 相关阅读:
    Java基础回顾 —内部类
    JAVA设计模式之观察者模式
    Java基础回顾 —注解
    JAVA设计模式之代理模式
    Java基础回顾 —反射机制
    JAVA设计模式之策略模式
    Java基础回顾 —String常量池
    JAVA设计模式之单例模式
    Java基础回顾 —抽象类、接口、多态
    Git的简单应用
  • 原文地址:https://www.cnblogs.com/xiaxiaoxu/p/10279891.html
Copyright © 2011-2022 走看看