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=\"(.*?)\"/>\\\n<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;
}

结果:

loadRunner手动关联, web_reg_save_param_regexp()函数正则匹配字符,赋值给变量的更多相关文章

  1. 【Loadrunner】Loadrunner 手动关联技术

    Loadrunner 手动关联技术 录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2  找到第一次产生该动态数据的响应对应的相应 ...

  2. Loadrunner手动关联详解

    Loadrunner手动关联详解 一.关联的含义: 关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到 ...

  3. LoadRunner ---手动关联与预关联

    手动关联                                       如果脚本很长,那么我们想找到一个脚本中哪些地方是需要关联的并不是一件容易的事情.这时,我们可以通过脚本对比的方法找 ...

  4. grep[行号&正则匹配字符有颜色]

    事情是这样的,昨天在深入学习grep命令时,看到别人博客用grep正则匹配,不仅行数有颜色,而且匹配到的字符也有颜色.我在CRT也试了下,毛颜色都没有.顿时感觉 so low. 解决 编辑vim~/. ...

  5. loadRunner手动关联,通过 web_reg_save_param()函数

    Action() { //<B>sign up now</B></A>      /*     web_reg_save_param_regexp(         ...

  6. Loadrunner 手动关联技术

    录制成功,回放失败,怀疑和动态数据有关: 1 重新录制一份脚本,两次录制的脚本进行比对,确定动态数据,复制动态数据: 2  找到第一次产生该动态数据的响应对应的相应请求: 1)  拷贝脚本中适当长度的 ...

  7. LoadRunner 手动关联

    步骤: 1.同样的流程录制两遍,保存在不同的项目中, 2.点击Tools >> Compare with Script 3.选择要比对的脚本 3.找辨识码 4.打开辨识码所在网页,查看源代 ...

  8. loadrunner手动生成脚本函数

    1.点击insert

  9. Linux平台从文件中查找字符赋值于变量

    以telnet方式登录Linux主机,在默认目录下用命令创建一个包含DUT wanIP的文本文件.[root] echo wanIP=88.0.100.253 > ./wanIP.txt在默认目 ...

随机推荐

  1. cuda9.0编译caffe报错nvcc fatal : Unsupported gpu architecture 'compute_70'

    Tesla V100 cuda9.0 caffe编译的时候报上述错误,修改方法: CUDA_ARCH := #-gencode arch=compute_20,code=sm_20 \ #-genco ...

  2. 【JMeter】【性能测试】分布式远程服务器

    jmeter分布式简单步骤说明: 1:添加远程服务器IP到配置文件 在JMETER_HOME / bin / jmeter.properties中,找到名为“ remote_hosts ” 的属性,并 ...

  3. vue-router利用url传递参数

    app.vue <template> <div id="app"> <router-link to="/">home< ...

  4. 005-优化web请求一-gzip压缩、http缓存控制和缓存校验[Pragma、Expires、Cache-Control、max-age、Last-Modified、用户刷新访问、避免过度304]

    优化Web应用的典型技术:缓存控制头信息.Gzip.应用缓存.ETag.反应型技术[异步方法调用和WebSocket] 一.模板缓存 spring.thymeleaf.cache=true sprin ...

  5. C++的函数功能总结

    1. string中find()返回值是字母在母串中的位置(下标记录),如果没有找到,返回npos. 2.string的substr(pos=0, count=npos)返回字符串[pos, pos+ ...

  6. content_type

    1.作用 将app名称与其中表关系进行保存 在models创建表时,关联到ContentType并不会产生实际的字段 2.使用 在models中代码 from django.db import mod ...

  7. Laravel中路由怎么写(一)

    1.路由基本使用示例 1.1 默认示例 Laravel中所有路由定义在/app/Http/routes.php文件中,该文件默认定义了应用的首页路由: Route::get('/', function ...

  8. [LeetCode] 504. Base 7_Easy tag: Math

    Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...

  9. [洛谷]p1996约瑟夫环 &xdoj1311

    https://www.luogu.org/problemnew/show/P1996 约瑟夫环这个问题一直以来都是用循环链表写的,今天才知道有循环队列的写法.以下是要点: 1.循环队列实现环的思想, ...

  10. Mac为python2.7.10安装pip

    首先下载get-pip.py https://bootstrap.pypa.io/get-pip.py alias python="/usr/bin/python2.7" pyth ...