zoukankan      html  css  js  c++  java
  • Loadrunner时间函数、用时间生成订单编号例子

    Loadrunner中取时间函数、用时间函数生成订单编号例子:

    <如要转载,请注明网络来源及作者:Cheers_Lee>

    问题的提出:

    (1)有时候在Loadrunner中用C语言设计脚本时却要取系统时间;

    (2)需要用时间生成唯一订单号;

    (3)时间函数加随机数产生不重复的订单号;

    一、取系统时间:

    Action() { lr_save_datetime("现在是:%Y年%m月%d日%H时%M分%S秒", DATE_NOW, "pNextWeek_date"); lr_output_message("%s", lr_eval_string("{pNextWeek_date}"));

    lr_save_datetime("下周这个时间是:%Y/%m/%d/%H:%M:%S", DATE_NOW + (ONE_DAY * 7), "pNextWeek_date"); lr_output_message("%s", lr_eval_string("{pNextWeek_date}"));

    lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW, "pNextWeek_date"); lr_output_message("用时间函数生成订单号:%s", lr_eval_string("{pNextWeek_date}"));

     return 0; }

    二、收到的启发时间函数随机数产生不重复的订单号;)非常有用

    int i; char OrderId[20]; Action() {

    srand(time(NULL));  //特别注意:加上这句,每次取不同的随机值

    i=rand()%10; lr_save_datetime("%Y%m%d%H%M%S", DATE_NOW,"now");

    sprintf(OrderId,"%s%d",lr_eval_string("{now}"),i);

    lr_output_message("订单号为:%s",OrderId);  return 0; }

    更多时间格式函数参考lr_save_datetime()函数及Datetime Format Codes (如下表)。

    随机函数的在Loadrunner中的一些的用法

     

        有时我在这脚本中需要随机的取下拉菜单或列表(list)中的值,那么我们就要用到随机数。下面就随机数的用法举例说明下.

    实例一: 
    str=rand(); //生成任意随机数  str=rand()%200 //生成最大值为200的随机数  str=rand()%100+200 //生成200-300之间的随机数 
    举例:
    int iRand; 
    Action()  

    { srand(time(NULL));  //特别注意:加上这句,每次取不同的随机值

    iRand = rand()%100; if( 30>=iRand ) { lr_output_message("The value of iRand is:%d,iRand < 30",iRand); }

    else   { lr_output_message("The value of iRand is:%d,iRand > 30",iRand);   }

     return 0; }

    实例二:

    在关联中的一点应用:(确定一个关联中count的值)

    web_reg_save_param("search_param", "LB=<p><A HREF=", "RB=>", "ORD=All"); ... search rand_selection = ( rand() % atoi(lr_eval_string("{search_param_count}")) + 1);

    实例三:

    产生一个新值(randselection)作为后缀去(随机)获得查找后的值

    sprintf(my_new_parameter, "{search_param_%d}", rand_selection);
     
     
     
     
     
    loadrunner 获取当前系统时间
    
    
    今天有个朋友问我lr怎么获取当前系统时间,正好最近几天学习过,就写了几个例子给大家。
    
     
    我的测试博客:http://www.51testing.com/?uid/6343
    
     
    
    文章概述:
    
    方法一是使用lr的参数化,非常方便,对lr熟悉的各位朋友也能马上上手,时间格式也有很多,可以自由选择
    
    方法二是使用的time()和ctime()函数,得到日历格式的时间,2个函数使用都很方便
    
    方法三是使用C语言的tm结构,把时间分解成若干元素,这样如果我们只想得到星期、年份、当前秒等值就非常方便,因为上面2个方法如果想得到具体的元素是非常麻烦,可能需要自己写函数把需要的串抓出来
    
     
    
    获取当前系统时间方法一
    
    方法描述:使用loadrunner的参数化获取当前时间
    
    步骤:
    
    1、将复制给aa的值参数化
    2、选中abc,使用右键选择"Replace with a parameter."
    3、在弹出窗口内填写参数名称为:localtime_now
    4、选择参数类型为Date/Time
    5、在属性选项里,选择时间格式化选项(可以选择很多种)
    6、关闭属性窗口,确认函数创建窗口,参数化完成
    7、将参数化的内容赋值给字符指针aa,需要使用lr_eval_string()函数转换一下
    
    示例如下:
    
    ===========================================
    
    Action()
    {
       char *aa;
    // aa = "abc"; //未参数前
    // aa = "{localtime_now}";//参数化后
       aa = lr_eval_string("{localtime_now}");//最终赋值语句
       lr_message("参数化获得本地当前时间的结果是:%s",aa);
       return 0;
    }
    
    运行结果:参数化获得本地当前时间的结果是:2007-07-04 14:01:39.746
    
    ===========================================
    
     
    
    获取当前系统时间方法二
    
    方法描述:使用C语言日历函数获取当前系统时间
    
    函数出处:time.h
    
    示例如下:
    
    ===========================================
    
    Action()
    {
        long t;
        time(&t);//获取当前时间
        lr_message("直接获取当前时间的结果是:%s",ctime(&t));
        return 0;
    }
    
    运行结果:直接获取当前时间的结果是:Wed Jul 04 14:01:39 2007
    
    ===========================================
    
     
    
    获取当前系统时间方法三
    
    方法描述:使用tm结构获得组成分解的当前系统时间;
    
             ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)
    
    结构出处:time.h
    
    注意:tm结构的名字"tm"不可修改;结构中的9项顺序不可更改;
    
    示例如下:
    
    ===========================================
    
    /*
    标准库:time.h
    ANSI C标准:tm表示的结构为时间分解结构(就是把时间分解为表示时间的各个组成)
    
    */
    
    struct tm {
    
           int second;   //取得当前秒数(在分钟后);取值区间为[0,59]
           int minute;   //取得当前分钟数(在小时后);取值区间为[0,59]
           int hour;  //取得当前小时数(从凌晨0点开始);取值区间为[0,23]
           int day;      //取得当前天数(从上月结束开始);取值区间为[1,31]
           int month;   //取得当前月份数(从1月开始);取值区间为[0,11]
           int year;   //取得当前年份数(从1900年开始)
           int weekday;  //取得当前日期数(为了获取星期几,从上个星期日开始);取值区间为[0,6]
           int yearday;  //取得当前年份天数(从1月1日开始);取值区间为[0,365]
           int daylight; //取得当前夏令时标识符,实行夏令时的时候,daylight取得一个正数
          //不实行夏令时的进候,daylight为0;
          //不了解情况时,daylight为负数
    };
    
    
    Action()
    {
         long timenow;//定义保存时间的变量
         struct tm *now;//定义结构指针
         int a,b,c,d;//非别存储小时、分钟、秒、星期
         char *week;
         time(&timenow);//获取当前时间
         now = (struct tm *)localtime(&timenow);//把当前时间的结构指针赋值给now
         a = now->hour;//获取hour值
         b = now->minute;//获取minute值
         c = now->second;//获取second值
         d = now->weekday;//获取week值
    
         switch(d)//判断得到中文的星期
         {
           case 1:week ="星期一";//如果d=1,那么就是星期一,以下类似
             break;
           case 2:week ="星期二";
             break;
           case 3:week ="星期三";
             break;
           case 4:week ="星期四";
             break;
           case 5:week ="星期五";
             break;
           case 6:week ="星期六";
             break;
           case 0:week ="星期日";
             break;
          };
         lr_message ("使用结构获取的当前时间为:%d:%d:%d,%s",a,b,c,week);
         return 0;
    }
    
    运行结果:使用结构获取的当前时间为:14:1:40,星期三
    
    ===========================================
    
  • 相关阅读:
    第四天——列表(一)
    第十二天—collections模块(十二)
    第十二天——sys模块(十)
    第十二天——os模块(九)
    第十二天——序列化模块(八)
    第十二天——random模块(七)
    第十二天——from ... import ...的使用(三)
    第十二天——import 使用(二)
    vue系列---------vuejs基础学习1.0
    前端随心记---------谈谈开发的工作规范
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4563703.html
Copyright © 2011-2022 走看看