LR常用函数以及参数化设置

LR常用函数以及参数化设置

web_reg_save_param 关联常用函数,可以根据自己需要,截取请求返回的数据,保存到定义的参数中去。
web_reg_save_param(“log”, //从返回结果中截取log的值
“LB={”",
“RB=}”,
“Notfound=warning”,
LAST);

lr_start_transaction,lr_end_transaction 定义事务,根据需要在请求前后添加,至少包含一个请求,用于分析性能指标。有开始必有结束。结束事务需要做断言去判断事务是否成功,成功就LR_PASS,不成功就LR_FAIL。不建议使用LR_AUTO。

web_add_header 添加请求头,需要请求头的时候可以用此函数添加,例如添加Cookie,session
web_add_header(“Cookie”,“qbse=7608a1ebbb9318e7b33736c0f1a77e08b8b9a612450ac79de4e4d54f3bc190bd”);

web_submit_data和Web_submit_form 通常用于post请求,推荐使用前者。
web_submit_data(“Login”, “Action=http://wallet.pigamegroup.com/user/userlogin”,
“Method=POST”,
“TargetFrame=”,
“Referer=”,
ITEMDATA,
“Name=username”,“Value={username}”,ENDITEM,
“Name=password”,“Value={password}”,ENDITEM,
“Name=clientVersion”,“Value=1.0”,ENDITEM,

web_url 加载指定的Web页面,通常请求为get的时候才会使用。

web_custom_request get和post请求都可以使用,可以指定传输参数的方式。
web_custom_request(“login”,
“Url={Interface_Url}”,
“Method=POST”,
“Mode=HTTP”,
“EncType=application/json”,
“RecContentType=application/json”,
“Body={“c”:“1002”,“p”:{“mobile”:”{pdl_mobile}",“pwd”:“123456”}}",
LAST);

lr_save_datetime 保存系统时间函数。
lr_save_datetime("%H:%M:%S",DATE_NOW + TIME_NOW,“times”);

lr_output_message 输出函数,相当于print。
lr_output_message(“当前时间是 %s”,lr_eval_string("{times}"));

lr_set_transaction_instance_status 设置事务的状态,事务的状态包括:LR_PASS、 LR_FAIL 、 LR_AUTO 、 LR_STOP 。可以在脚本中根据条件设置事务的状态。
lr_set_transaction_instance_status(LR_FAIL);

lr_get_transaction_status 用来获取某个事务的状态。

lr_rendezvous 设置集合点。

Ir_save_string: 将程序中的常量或者变量保存为Ir的参数
Ir_eval_string: 返回脚本的一个参数当前的值

web_find()函数: 在页面中查找相应内容
web_find(“web_find”, //定义该查找函数的名称
“RightOf=a”, //定义查找字符的右边界
“LeftOf=b”, //定义查找字符的左边界
“What=name”, //定义查找内容
LAST);

web_reg_find()函数: 在缓存中查打相应的内容
web_reg_find(“Search=Body”, //定义查找范围
“SaveCount=ddd”, //定义查找计数变量名称
“Text=aaaa”, //定义查找内容
LAST);

web_image_check()函数:在页面中查找具体图片。
所有带引号的都需要用反斜杠转义。
web_reg_save_param 关联常用函数,可以根据自己需要,截取请求返回的数据,保存到定义的参数中去。
web_reg_save_param(“log”, //从返回结果中截取log的值
“LB={”",
“RB=}”,
“Notfound=warning”,
LAST);

lr_start_transaction,lr_end_transaction 定义事务,根据需要在请求前后添加,至少包含一个请求,用于分析性能指标。有开始必有结束。结束事务需要做断言去判断事务是否成功,成功就LR_PASS,不成功就LR_FAIL。不建议使用LR_AUTO。

web_add_header 添加请求头,需要请求头的时候可以用此函数添加,例如添加Cookie,session
web_add_header(“Cookie”,“qbse=7608a1ebbb9318e7b33736c0f1a77e08b8b9a612450ac79de4e4d54f3bc190bd”);

web_submit_data和Web_submit_form 通常用于post请求,推荐使用前者。
web_submit_data(“Login”, “Action=http://wallet.pigamegroup.com/user/userlogin”,
“Method=POST”,
“TargetFrame=”,
“Referer=”,
ITEMDATA,
“Name=username”,“Value={username}”,ENDITEM,
“Name=password”,“Value={password}”,ENDITEM,
“Name=clientVersion”,“Value=1.0”,ENDITEM,

web_url 加载指定的Web页面,通常请求为get的时候才会使用。

web_custom_request get和post请求都可以使用,可以指定传输参数的方式。
web_custom_request(“login”,
“Url={Interface_Url}”,
“Method=POST”,
“Mode=HTTP”,
“EncType=application/json”,
“RecContentType=application/json”,
“Body={“c”:“1002”,“p”:{“mobile”:”{pdl_mobile}",“pwd”:“123456”}}",
LAST);

lr_save_datetime 保存系统时间函数。
lr_save_datetime("%H:%M:%S",DATE_NOW + TIME_NOW,“times”);

lr_output_message 输出函数,相当于print。
lr_output_message(“当前时间是 %s”,lr_eval_string("{times}"));

lr_set_transaction_instance_status 设置事务的状态,事务的状态包括:LR_PASS、 LR_FAIL 、 LR_AUTO 、 LR_STOP 。可以在脚本中根据条件设置事务的状态。
lr_set_transaction_instance_status(LR_FAIL);

lr_get_transaction_status 用来获取某个事务的状态。

lr_rendezvous 设置集合点。

Ir_save_string: 将程序中的常量或者变量保存为Ir的参数
Ir_eval_string: 返回脚本的一个参数当前的值

web_find()函数: 在页面中查找相应内容
web_find(“web_find”, //定义该查找函数的名称
“RightOf=a”, //定义查找字符的右边界
“LeftOf=b”, //定义查找字符的左边界
“What=name”, //定义查找内容
LAST);

web_reg_find()函数: 在缓存中查打相应的内容
web_reg_find(“Search=Body”, //定义查找范围
“SaveCount=ddd”, //定义查找计数变量名称
“Text=aaaa”, //定义查找内容
LAST);

web_image_check()函数:在页面中查找具体图片。
所有带引号的都需要用反斜杠转义。


参数化设置:
假设存在:
  数据:A、B、C
  虚拟用户:Vuser1、Vuser2、Vuser3
  脚本中参数出现三次,脚本迭代三次

怎样取下一行数据?
  Sequential:顺序,所有虚拟用户按照顺序读取数据表
  Random:随机,所有虚拟用户随机形式读取数据表
  Unique:唯一,所有虚拟用户每次各取一值(不重复)

什么时候访问数据表完成数据更新?
  Each iteration:每次迭代以后
  Each occurrence:每次出现参数
  Once:每出现一个虚拟用户

实例:
  顺序
  Sequential + Each iteration

第一次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取A

第二次迭代 无论参数任何时候出现 Vuser1、Vuser2、Vuser3 取B

第三次迭代 无论参数任何时候出现Vuser1、Vuser2、Vuser3 取C

Sequential + Each occurrence

第N次迭代 参数第一次出现 Vuser1、Vuser2、Vuser3 取A

第N次迭代 参数第二次出现 Vuser1、Vuser2、Vuser3 取B

第N次迭代 参数第三次出现 Vuser1、Vuser2、Vuser3 取C

Sequential + Once

第N次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C

随机
  Random + Each iteration
  第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C,本次迭代不再更新

第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C,本次迭代不再更新

第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C,本次迭代不再更新

在N+1次迭代,每个Vuser重新随机抽取数据

Random + Each occurrence

第N次迭代 第一次遇到该参数 Vuser1、Vuser2、Vuser3在A、B、C中随机抽取一个

第N次迭代 第二次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个

第N次迭代 第三次遇到该参数 Vuser1、Vuser2、Vuser3重新在A、B、C中随机抽取一个

在N+1次迭代,每个Vuser继续保持每遇到一次参数就重新抽取一次数据
  Random + Once

第N次迭代 无论遇到该参数多少次 Vuser1都只取A,或者B,又或者C

第N次迭代 无论遇到该参数多少次 Vuser2都只取A,或者B,又或者C

第N次迭代 无论遇到该参数多少次 Vuser3都只取A,或者B,又或者C

在N+1次迭代,每个Vuser不会重新抽取数据

唯一
  注意:使用该Unique类型必须注意数据表有足够多的数。

比如Controller 中设定20 个虚拟用户进行5 次循环,那么编号为1 的虚拟用户取前5个数,编号为2 的虚拟用户取6-10 的数,依次类推,这样数据表中至少要有100个数据,否则Controller 运行过程中会返回一个错误。

因此以下例子在数据表中加入数据D、E、F、G、H、I。

Unique + Each iteration
  第一次迭代 无论参数出现多少次 Vuser1取A Vuser2取D Vuser3取G

第二次迭代 无论参数出现多少次 Vuser1取B Vuser2取E Vuser3取H

第三次迭代 无论参数出现多少次 Vuser1取C Vuser2取F Vuser3取I

Unique + Each occurrence
  第一次迭代 第一次出现该参数 Vuser1取A Vuser2取D Vuser3取G

第一次迭代 第二次出现该参数 Vuser1取B Vuser2取E Vuser3取H

第一次迭代 第三次出现该参数 Vuser1取C Vuser2取F Vuser3取I

Unique + Once
  无论进行多少次迭代 无论参数任何时候出现 Vuser1取A Vuser2取B Vuser3取C

数据D、E、F、G、H、I不取

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值