方法一:

函数(sprintf,web_reg_save_param),其中红色字体是本文档最重要的
#include "web_api.h"

Action()
{
int i,iloop;
char idParam[200];
char idValue[200];
...
web_reg_save_param("topicarray", "LB=topic_", "RB=.html","Notfound=warning", "Search=body","Ord=All",LAST);
//注意Ord=All
web_url("访问指定XXX",
"URL=指定要访问的页面",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTTP",
LAST);

for ( i =1 ; i < atoi(lr_eval_string("{topicarray_count}"))+1; i++){

    sprintf(idParam, "{topicarray_%d}", i);
    sprintf(idValue, "%s", lr_eval_string(idParam));
    lr_save_string(idValue,"topicid");//这个也比较实用的函数,放入参数,后续调用就比较简单了,
    lr_message("The value argument is : %s", lr_eval_string("{topicid}"));

for ( iloop = 0; iloop < 5 ; iloop++){
        web_submit_data("add_reply.do",
        "Action=xxxxxxxxxxxx.do",
        "Method=POST",
        "RecContentType=text/html",
        "Referer=xxxxxxx_{topicid}.html",
        "Mode=HTTP",
        ITEMDATA,
        "Name=allow_guest", "Value=on", ENDITEM,
        "Name=url", "Value=xxxxxxxxx{topicid}.html", ENDITEM,
        "Name=Username", "Value=2007", ENDITEM,
        "Name=Title", "Value=null", ENDITEM,
        "Name=Content", "Value={topicid}", ENDITEM,
        "Name=aaaa", "Value=aaa", ENDITEM,
        LAST);
     }
}

方法二:

如何使用web_reg_save_param方法保存的多个参数?

web_reg_save_param方法中,如果参数部分指明"ORD=ALL",则可以保存多个参数。例如“web_reg_save_param("flight_num","LB=<input type=/"checkbox/" name=/"","RB=/" value=/"on/">","ORD=ALL",LAST)”,将会根据实际情况查找符合条件的内容,然后把找到的结果依次保存在参数flight_num_1、flight_num_2、flight_num_3、……中。如果要使用这些参数,可以借助数组来完成。

下面的示例演示了在订票程序中,如何把找到的票号保存到数组中,然后利用循环语句生成参数名称并保存到数组中。得到参数列表后,接下来就能进行其它操作,例如删除订票等。

Action()

{  int i;

int  count;

char param[10][20];

web_reg_save_param("flight_num","LB=<input type=/"checkbox/" name=/"","RB=/" value=/"on/">","ORD=ALL",LAST);

web_url("com.mercurytours.servlet.IteneraryServlet",

"URL=http://localhost/servlets/com.mercurytours.servlet.IteneraryServlet",

"TargetFrame=",

"Resource=0",

"RecContentType=text/html",

"Referer=http://localhost/servlets/com.mercurytours.servlet.ReservationServlet",

"Snapshot=t3.inf",

"Mode=HTML",

LAST);

count=atoi(lr_eval_string("{flight_num_count}"));

lr_error_message("已经订票的数量:%d",count);

for(i=1;i<=count;i++){

sprintf(param[i],"{flight_num_%d}",i);//参数名称存到数组中

lr_error_message(param[i]);

}

for(i=1;i<=count;i++){

lr_error_message(lr_eval_string(param[i]));//使用参数

}

return 0;

}

[转] web_reg_save_param得到的数组的处理的更多相关文章

  1. loadrunner ---<三>循环输出关联数组

    web_reg_save_param,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里.在本例中,假设关联值返回三条记录,则LR分别将值保存到sor_1,sor_2,so ...

  2. LoadRunner参数数组

    参数数组提供了对一类参数集中存放的机制,其中LR内置的几个函数有:lr_paramarr_idx().lr_paramarr_len().lr_paramarr_random() 同时参数数组必须满足 ...

  3. loadrunner必用函数web_reg_save_param获取多个符合边界值条件的使用方法

    在做loadrunner性能脚本开发时,常常碰见一个需求:符合web_reg_save_param函数中定义的左右边界值的值有多个,而我们的常规写法默认返回的是符合条件的第一个,而有时我们却需要使用后 ...

  4. 转:loadrunner关联及web_reg_save_param方法浅析

    一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态 ...

  5. 转:loadrunner ---循环输出关联数组

    web_reg_save_param,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里.在本例中,假设关联值返回三条记录,则LR分别将值保存到sor_1,sor_2,so ...

  6. loadrunner关联及web_reg_save_param方法浅析

    一.什么是关联 关联(correlation):脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,已变量的形式替换录制时的静态 ...

  7. loadrunner 关联函数web_reg_save_param

    当我们每次访问网站都需要提交从服务器获取的动态文本时就会需要用到关联函数,就好像每次乘坐火车票我们都需要用最新的火车票,如果用旧车票就不能做火车,如果我们采用了录制时的旧动态码如usersession ...

  8. loadrunner 脚本优化-关联函数web_reg_save_param()函数详解

    脚本优化-关联函数web_reg_save_param()函数详解   by:授客 QQ:1033553122 Insert->New Step,打开Add Step对话框 选择函数web_re ...

  9. loadrunner函数解密之web_reg_save_param

    loadrunner工具的使用,最关键的在于3个地方: A:脚本的编写 B:场景设计 C:性能测试结果分析 其 中难度比较大的第一步是:编写脚本,有很多人对于loadrunner里面的各种函数使用的并 ...

随机推荐

  1. iptables的地址取反操作

    感叹号要写在-d的前面才行,而且要用空格隔开. iptables -A OUTPUT -o eth0 -p tcp ! -d xxx.xxx.xxx.xxx -j DROP

  2. 批处理学习笔记8 - 深入学习For命令1

    for命令用途非常广,它分为4种 /d /r /l /f /l是类似高级语言的数值循环,在之前就说过,这篇就不说了: http://www.cnblogs.com/HONT/p/3155187.htm ...

  3. 【Android】10.1 扩展组件库和其他视图--本章示例主界面

    分类:C#.Android.VS2015: 创建日期:2016-02-18 1.主界面运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() ...

  4. 非常全的linux面试笔试题及答案

    一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点来标识.4. ...

  5. SQL server插入数据后,如何获取自增长字段的值?

    insert into Tb_People(uname,era,amount) values( '兆周','老年','10000') select @@identity --当运行完插入语句后,执行s ...

  6. 可扩展多线程异步Socket服务器框架EMTASS 2.0

    0 前言 >>[前言].[第1节].[第2节].[第3节].[第4节].[第5节].[第6节] 在程序设计与实际应用中,Socket数据包接收服务器够得上一个经典问题了:需要计算机与网络编 ...

  7. sqlserver 针对预处理sql传入参数的处理方式

    在编写sql中,经常需要对sql进行预处理,动态拼接字符串,那么要获取在这预处理之后返回的的某个值并且赋值,传入参数的语法 USE [OA] GO /****** Object: StoredProc ...

  8. c++多继承浅析

            图一                                                                                       图二 ...

  9. cmder小技巧

    1.修改config下的aliases文件,可以添加别名 $* 表示所有参数,$i 表示第几个参数 比如cd cd=cd /d $* 这样window下的cd就可以直接切换盘符+路径了. 有用的别名 ...

  10. git commit 多行注释方法说明

    为了提高项目质量,不仅仅是代码的质量,而且还包括代码管理的质量. 所以,详细的git commit message 必不可少. 现在记录一下git commit 多行详细的commit 信息. 首先, ...