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. Vue项目

    1.新建Vue项目:vue init webpack projectName 2.vue-router模块 1.安装vue-router模块:npm install vue-router --save ...

  2. MTU 和 MSS 关系、 IP分片、TCP分段

    从四层模型:链路层,网络层,传输层,应用层说 一 .以太网V2格式数据帧 : 链路层 Destination   Source  Type  DataAndPad  FCS 6            ...

  3. ubuntu上第一个hello程序

    1.终端中输入gedit  hello.c ,然后输入程序: 2.使用gcc编译器,编译出在PC上运行的hello可执行程序:gcc  ./hello.c  -o   hello-pc; 3.使用ar ...

  4. 前端 HTML 常用标签 head标签相关内容 style标签 定义内部样式表

    styple标签 <!-- 定义内部样式表 --> <style type="text/css"></style>

  5. 误删除innodb ibdata数据文件 文件句柄 文件描述符 proc fd

    误删除innodb ibdata数据文件  文件句柄  文件描述符  proc  fd http://www.cnblogs.com/gomysql/p/3702216.html 提示:如果不小心通过 ...

  6. HTN规划 jshop2

    http://www.cs.umd.edu/projects/shop/description.html 在HTN规划,规划体系从世界的初始状态和创建一个计划来执行一系列任务的目的(需要做的事情,抽象 ...

  7. MHA 实现VIP切换用到脚本

    在MHA Manager端配置中,如果实现MHA的vip故障切换需要在配置文件/etc/masterha/app1/app1.cnf 中启用下面三个参数: master_ip_failover_scr ...

  8. 轻松了解JS中this的指向

    JS中的this指向一直是个让人头疼的问题,想当初我学的是天昏地暗,查了好多资料,看的头都大了,跟他大战了那么多回合,终于把它搞定个七八分,其实往往都是我们复杂化了,现在就让大家轻松看懂this的指向 ...

  9. C 字符及ASCII值

    .已知字母A的ASCII码为十进制的65,下面程序的输出是___A___. main() { char ch1,ch2; ch1='; ch2='; printf("%d,%c\n" ...

  10. python SMTP other

    HTML 正文,带链接和图片 //test.py import smtplib from email.mime.image import MIMEImage from email.mime.text ...