LoadRunner 中怎么对日期进行参数化?

发表于:2017-10-30 16:45

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:秋之川    来源:51Testing软件测试网采编

  【背景】
  今天在 51Testing 论坛看到这样一个问题:根据一些查询条件,查询结果,查询条件中包含起止时间,如何给开始时间和结束时间分别进行参数化呢?
  【你问】
  LoadRunner 中怎么对日期进行参数化?
  【我答】
  1、先从最简单的场景来看,LR 中对日期进行参数化的方法:
  a. 选中要参数化的内容,右键单击,选择?Replace?with?a?new?parameter,在 Parameter type list 里选择 “Date/Time”。
  Parameter type
  b. 打开 Parameter Properties 对话框里选择适用于你接口要求格式的日期格式,记住,勾选上“Prior to current”,“Update value” 项选择 'Each occurrence',这样每次执行到这个参数时,都会取当时最新的日期。
  Date/Time
  2、复杂一点的场景,比如问题中的查询区间,我们怎么去实现一天内的、一周内的、一个月内的查询条件,这里就要用到 LR 的自带函数:lr_save_datetime:
  void lr_save_datetime(const char *format, int offset, const char *name);
  lr_save_datetime 将当前日期和时间,或具有指定偏移的日期和时间保存在参数中
  参数说明:
  1、const char *format?格式化信息,同fopen、lr_message等相同;例如:"开始时间是 %s"
  2、int offset?时间的偏移量:
  DATE_NOW(现在的日期)
  TIME_NOW(现在的时间)
  ONE_DAY(一天的时间)
  ONE_HOUR(一小时的时间)
  ONE_MIN(一分钟的时间)
  时间的偏移量可以使用公式,例如:DATE_NOW+ONE_DAY
  这样,我们就可以取得昨天、明天的日期了
  DATE_NOW-ONE_DAY(昨天)
  DATE_NOW+ONE_DAY(明天)
  3、const char *name?参数保存的参数名
  通过这个函数取得我们想要的日期场景的值,然后在接下来的接口脚本中直接使用该参数即可。
  lr_save_datetime("%y-%b-%d",DATE_NOW-2*24*(ONE_HOUR),"startTime");
  lr_save_datetime("%y-%b-%d",DATE_NOW,"endTime");
  url=http://api.xxxxx.cn/userInfo/queryOrder?phone={phone}&startTime={startTime}&endTime={endTime}
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号