LR函数基础(一)(二)
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);
LR函数基础(一)(二)的更多相关文章
- LR函数基础(二)
(一)用到的函数: (1) web_set_option() //重定向设置 (2)web_reg_save_param和custom_request都常于处理参数的动态生成. web_reg_s ...
- ~~函数基础(二):返回值&作用域~~
进击のpython 函数的返回值和作用域 上文我们讲到了函数的基础--参数的相关问题 举的例子也都是带有print的函数定义 但是有个问题就出现了:我不想打印这个函数处理后的参数 我想拿到这个参数然后 ...
- python — 函数基础知识(二)
目录 1 返回值 2 作用域 3 函数小高级 4 函数中高级 1 返回值 def func(arg): # .... return 9 # 返回值为9 默认:return None val = fun ...
- LR函数基础(一)
函数用到:web_reg_find(). lr_log_message(). lr_eval_string().strcmp().atoi() Action(){ web_reg_find(&q ...
- PHP基础入门(二)【PHP函数基础】
PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...
- C++学习基础十二——纯虚函数与抽象类
一.C++中纯虚函数与抽象类: 1.含有一个或多个纯虚函数的类成为抽象类,注意此处是纯虚函数,而不是虚函数. 2.如果一个子类继承抽象类,则必须实现父类中的纯虚函数,否则该类也为抽象类. 3.如果一个 ...
- Less-mixin函数基础二
//mixin函数 基础使用方法 --包含选择器,example: .test(){ &:hover{ border:1px solid red; } } button{ .test; } / ...
- RequireJS基础(二)
上一篇是把整个jQuery库作为一个模块.这篇来写一个自己的模块:选择器. 为演示方便这里仅实现常用的三种选择器id,className,attribute. RequireJS使用define来定义 ...
- php基础篇-二维数组排序 array_multisort
原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...
随机推荐
- iOS:仿写探探App动画
一.简单介绍 探探动画比较新颖,这也是它在众多交友软件中火热的一个特色.实现这种动画的方式可以有两种方式实现: 1.使用转场动画实现 2.使用CollectionView自定义布局实现, 此处我提供 ...
- DLL文件实现窗体的模板模式
机房合作版中第一次使用了模板方法,实现了类似窗体的界面和代码的复用..窗体继承有两种方法,一种是通过继承选择器从已编译的程序集合里选择,另一种则是通过DLL文件的方式继承.个人觉得DLL还是比较方便的 ...
- Android Asynchronous Http Client-Android异步网络请求客户端接口
1.简介 Android中网络请求一般使用Apache HTTP Client或者采用HttpURLConnect,但是直接使用这两个类库需要写大量的代码才能完成网络post和get请求,而使用and ...
- JS 判断上传 文件 大小
随着HTML5 的发展,我们可以用file控件的size属性来获取客户端 上传文件的大小,但是 我今天测试 发现IE10支持,IE11的某个版本不支持, 于是就借用img控件来加载一此, 以此来获取文 ...
- Scramble String leetcode java
题目: Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty subs ...
- Unique Paths leetcode java
题目: A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below). ...
- 使用Vue.js实现列表选中效果
实际项目中,我们会遇到很多类似的需求,一个列表,需要点击其中一条高亮显示.熟悉JQuery的同学说这个太简单了.可以给这个选中的element设置一个active的class.配合Css样式,让ac ...
- 使用C#开发一个简单的P2P应用
作者: 刘彦青 本篇文章讨论了一种设计P2P网络应用程序的简单方法. 尽管有许多P2P网络不需要索引服务器或中央服务器,各客户机之间可以互相直接通讯,但下面的图1还是显示了P2P网络的基本工作原理,一 ...
- Windows 增强版任务管理器-Process Explorer
百度百科PROCESS EXPLORER介绍 由Sysinternals开发的Windows系统和应用程序监视工具,目前已并入微软旗下.不仅结合了Filemon(文件监视器)和Regmon(注册表监视 ...
- 转: 一个程序员的Java和C++学习之路(整理)
http://blog.csdn.net/ajian005/article/details/8003655 http://m.blog.csdn.net/xugangwen/article/detai ...