大叔大婶带你走一条接地气的测试进阶之路
LoadRunner 中怎么对日期进行参数化?
上一篇 /
下一篇 2017-09-06 22:53:25 / 天气: 阴雨
/ 心情: 高兴
/ 个人分类:性能测试
【背景】
今天在 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}
《测试路上你问我答》里的 Q&A 84,如果是你要的,甚好!如果不是,你问,我答!
作者简介:14 年测试 + 11 年项目管理 + 11 年团队管理 = 一个测试老兵
相关阅读:
- 性能测试常用8个步骤 (资深梦游, 2017-8-30)
- Oracle性能测试和优化 (资深梦游, 2017-8-30)
- 性能测试实践——快速定位及缩小范围 (资深梦游, 2017-8-31)
- Loadrunner之异常处理总结 (资深梦游, 2017-8-31)
- iOS性能测试全解析 (资深梦游, 2017-9-01)
- GET 技巧!python模块性能测试 (资深梦游, 2017-9-04)
- 当云遇见APP性能测试会怎样? (资深梦游, 2017-9-04)
- Android性能测试 (资深梦游, 2017-9-05)
- 你应该知道的性能评测之一:流畅度测试 (资深梦游, 2017-9-05)
- 高并发性能调试经验分享(上) (资深梦游, 2017-9-06)
收藏
举报
TAG:
性能测试
LoadRunner