LR函数基础(一)

函数用到:web_reg_find()、 lr_log_message()、 lr_eval_string()、strcmp()、atoi()

Action()
{
    web_reg_find("Text=liuej", "SaveCount=para_count", LAST); //文本检查,且保存变量

web_submit_form("login.pl",
  "Snapshot=t3.inf",
  ITEMDATA,
  "Name=username", "Value={useranme}", ENDITEM,
  "Name=password", "Value={password}", ENDITEM,
  "Name=login.x", "Value=59", ENDITEM,
  "Name=login.y", "Value=1", ENDITEM,
  LAST);

lr_log_message("username=%s  password=%s", lr_eval_string("{useranme}"), lr_eval_string("{password}"));

lr_log_message("count= %d",lr_eval_string("{para_count}"));

if (atoi(lr_eval_string("{para_count}"))>0)     //法1.验证是否找到了页面上的要检查的字符串
        lr_output_message("we find the string!");
 else
  lr_output_message("sorry,don't find the string!");

if(strcmp(lr_eval_string("{para_count}"),"0")>0)  // 法2.验证是否找到了页面上的要检查的字符串
  lr_output_message("find");
 else
  lr_output_message("not find");

return 0;
}

LR函数基础(二)

(一)用到的函数:

(1) web_set_option()   //重定向设置

(2)web_reg_save_param和custom_request都常于处理参数的动态生成。

web_reg_save_param() // 主要作用是从一个response中获得后续的request需要使用的数据,然后将其作为一个参数保存下来,供后续步骤使用。(从服务器获得的数据)

web_custom_request()   // 则可以用于完全自定义参数向服务端发送的request。(自定义的数据)

(3)web 检查函数:

web_image_check()   // 放在url()函数“之后”
   web_find()           // 。。。。 “之后”
   web_reg_find()         // 。。。。“之前”
   web_global_verification()  // 。。“之前” ;注册函数,同web_reg_find但它是在之后所有的 Action类函数中执行搜索的。

(4)保证迭代结束后关闭所有的链接。相应的函数放于下面两个函数之间,迭代后都会关闭连接。

web_set_sockets_option("SHUTDOWN_MODE",Abrupt)  // 相当于迭代重置,初始化

。。。。

web_set_sockets_option("CLOSE_KEEPALVE_CONNECTIONS",1)  //关闭连接

脚本中何时用到上面两个函数----通常出现下列情况:

A:当采用cmd / netstat命令时,看到很多相关的Socket处于“wait” 状态
      B: 负载增大时连接失败
      C: mmdrv的句柄数 随着虚拟用户的运行而增加
      D: 当建立连接时出现“No buffer space available”错误信息。

(二)附加例子:

(1)重定向

Action()
{
 web_set_option( "MaxRedirectionDepth",  "0", LAST );  // 0表示未重定向,1表示一级定向。。。
 web_reg_save_param("google","LB=<A HREF=\"","RB=\"","Search=All",LAST);
 web_url("www.google.com",
  "URL=http://www.google.com/",
  "Resource=0",
  "RecContentType=text/html",
  "Referer=",
  "Snapshot=t1.inf",
  "Mode=HTML",
  LAST);

}

(2)web_custom_request() 自定义数据,向服务器提交数据

Action()部分代码:

strcpy(creq, "Body=1=on&flightID=");
    strcat(creq, lr_eval_string("{fID1}"));
    strcat(creq, "&2=on&flightID=");
    strcat(creq, lr_eval_string("{fID2}"));
    strcat(creq, "&.cgifields=1&.cgifields=2");
    strcat(creq, "&removeFlights.x=116&removeFlights.y=8");

web_custom_request("itinerary.pl",
      "Method=POST", 
        "URL=http://localhost/MercuryWebTours/itinerary.pl",
        "RecContentType=text/xml",
         creq,                         //变量
        "Snapshot=t4.inf",
        LAST);

详细访问:http://blog.sina.com.cn/s/blog_505bf9af0100a501.html

LR函数基础(一)(二)的更多相关文章

  1. LR函数基础(二)

    (一)用到的函数: (1) web_set_option()   //重定向设置 (2)web_reg_save_param和custom_request都常于处理参数的动态生成. web_reg_s ...

  2. ~~函数基础(二):返回值&作用域~~

    进击のpython 函数的返回值和作用域 上文我们讲到了函数的基础--参数的相关问题 举的例子也都是带有print的函数定义 但是有个问题就出现了:我不想打印这个函数处理后的参数 我想拿到这个参数然后 ...

  3. python — 函数基础知识(二)

    目录 1 返回值 2 作用域 3 函数小高级 4 函数中高级 1 返回值 def func(arg): # .... return 9 # 返回值为9 默认:return None val = fun ...

  4. LR函数基础(一)

    函数用到:web_reg_find(). lr_log_message(). lr_eval_string().strcmp().atoi() Action(){    web_reg_find(&q ...

  5. PHP基础入门(二)【PHP函数基础】

    PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...

  6. C++学习基础十二——纯虚函数与抽象类

    一.C++中纯虚函数与抽象类: 1.含有一个或多个纯虚函数的类成为抽象类,注意此处是纯虚函数,而不是虚函数. 2.如果一个子类继承抽象类,则必须实现父类中的纯虚函数,否则该类也为抽象类. 3.如果一个 ...

  7. Less-mixin函数基础二

    //mixin函数 基础使用方法 --包含选择器,example: .test(){ &:hover{ border:1px solid red; } } button{ .test; } / ...

  8. RequireJS基础(二)

    上一篇是把整个jQuery库作为一个模块.这篇来写一个自己的模块:选择器. 为演示方便这里仅实现常用的三种选择器id,className,attribute. RequireJS使用define来定义 ...

  9. php基础篇-二维数组排序 array_multisort

    原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...

随机推荐

  1. 【转】PHP笔试题2010年

    From : http://www.51projob.com/a/PHP/20120905/602.html 下午,还有一场比较大的面试等着我[虽然接到pps的录用电话,可是心里还是想去verycd试 ...

  2. 【UOJ Round #3】

    枚举/二分 C题太神窝看不懂…… 核聚变反应强度 QwQ很容易发现次小的公约数一定是gcd的一个约数,然后……我就傻逼地去每次算出a[1],a[i]的gcd,然后枚举约数……这复杂度……哦呵呵... ...

  3. pthread_once重塑singleton模式

    单件模式是非线程安全的: // Single threaded version class Foo { private Helper helper = null; public Helper getH ...

  4. Populating Next Right Pointers in Each Node II leetcode java

    题目: Follow up for problem "Populating Next Right Pointers in Each Node". What if the given ...

  5. Word Search leetcode java

    题目: Given a 2D board and a word, find if the word exists in the grid. The word can be constructed fr ...

  6. 七牛云存储 qiniu 域名 回收 文件上传 备份 下载 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. 【Spark】SparkStreaming-Tasks-数量如何设置?

    SparkStreaming-Tasks-数量如何设置? sparkstreaming task 数量设置_百度搜索 spark内核揭秘-14-Spark性能优化的10大问题及其解决方案 - star ...

  8. 转: wireshark的使用说明

    原创者:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html from:  https://mp.weixin.qq.com/ ...

  9. Docker创建虚机和swarm

    创建虚机: First, quickly create a virtual switch for your virtual machines (VMs) to share, so they will ...

  10. String escape/unescape into XML

    Is there any C# function which could be used to escape and un-escape a string, which could be used t ...