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;
}

结果:

最新文章

  1. 针对每种Windows Server 操作Excel、Word等Office组件遇到“ComException&quot;、”80070005“等COM错误的解决方案大汇总
  2. Android Studio Problem : failed to find style &#39;textviewstyle&#39; in current theme 解决方法
  3. sql server 自增长id 允许插入显示值
  4. Spark安装指南
  5. 在windows下使用gnu的工具
  6. strut2的原理
  7. Thread的第三天学习
  8. 【原】K3Cloud平台开发之Python插件
  9. wlan的QOS配置
  10. 【LeetCode】【Python题解】Single Number &amp;amp; Maximum Depth of Binary Tree
  11. Mysql自增主键ID重新排序方法详解
  12. NewLife.Net——构建可靠的网络服务
  13. WebStorm 2018激活码
  14. iis7 设置自定义404页面无效解决方案
  15. win7 64位操作系统 电脑桌面出现this computer is being attacked的窗口
  16. java读大文件最快性能【转】
  17. zabbix 3.2.4 使用详解
  18. jexl2 执行字符串Java代码
  19. input type=&#39;number&#39;时,maxlength属性无效
  20. vs2010密钥

热门文章

  1. mac上Android反编译工具apktool、dex2jar入门
  2. what&#39;s the 回抽
  3. 003-JSR303校验
  4. COFF,amd64.vc90.mfc两个布署的问题
  5. Python Singleton模式
  6. k8s 健康检查
  7. 给下拉列表添加options
  8. SDN概述:简介、工具、环境部署
  9. [LeetCode] 559. Maximum Depth of N-ary Tree_Easy tag: DFS
  10. 利用Tensorflow实现卷积神经网络模型