51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1952|回复: 1
打印 上一主题 下一主题

性能测试——常用函数

[复制链接]
  • TA的每日心情
    擦汗
    4 小时前
  • 签到天数: 521 天

    连续签到: 3 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-11-2 15:51:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 测试积点老人 于 2018-11-2 15:55 编辑

    HTTP协议函数
    int web_url( const char *StepName, const char *url, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );
    web_url()是一个操作函数,它可以加载指定的网页(GET)请求,加载URL属性指定的URL,不需要上下文。该函数通过LR启动浏览器捕捉传送的HTTP请求。
    stepName:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称;
    Url:页面URL地址;
    EXTRARES:分隔符,标记下一个参数是资源属性列表;
    LAST:属性列表结束的标记符;
    1. <span style="font-size:14px;">web.url("www.abc.com",
    2.     "URL=http://www.abc.com/",
    3.     new String[]{
    4.         "TargetFrame=",
    5.         "TargetBrowser=Mercury Technologies",
    6.         "Resource=0",
    7.         "RecContentType=text/html",
    8.         "Snapshot=t1.inf",
    9.         "Mode=HTML",
    10.         "LAST"
    11.     });</span>
    复制代码
    注意:只有VuGen处于URL_based(此时A script containting explicit URLs only勾选时)的录制模式时,web_url才会被录制到
    int web_custom_request( const char *RequestName, <List of Attributes>,
    [EXTRARES, <List of Resource Attributes>,] LAST );
    web_custom_request()可以发送POST和GET类型请求,属性值可以为多个,注意BODY中的值必须通过URL编码,使用web_convert_param();
    RequestName:步骤的名称,VuGen中树形视图中显示的名称;
    List of Attributes:支持的属性有以下几种
    URL:页面地址
    Method:页面的提交方式,POST或GET
    TargetFrame:包含当前链接或资源的frame名称
    EncType:编码类型
    Body:请求体
    EXTRARES:分隔符,标记下一个参数是资源属性列表;
    LAST:属性列表结束的标记符;
    1. <span style="font-size:14px;">web_custom_request("post_query.exe", "Method=POST",
    2.     "URL=http://lazarus/cgi–bin/post_query.exe",
    3.     "Body=–––––––––––––––––––––––292742461228954\r\nContent–Disp"
    4.     "osition: form–data; name=\"entry\"\r\n\r\nText\r\n––––––––––"
    5.     "–––––––––––––––––––292742461228954\r\nContent–Disposition: f"
    6.     "–––––––––––292742461228954––\r\n",
    7.     "TargetFrame=",
    8.     LAST );</span>
    复制代码
    web_submit_data():模拟一个form提交,只能POST方式提交的数据。不管Cache存在不存在,提供了所有的数据
    web_submit_form():模拟一个form提交,只提供了和Cache中有差别的数据,其余的数据会自动从Cache中取。
    int web_link( const char *StepName, <List of Attributes>, [EXTRARES, <List of Resource Attributes>,] LAST );
    web_link()模拟在一个链接上面的鼠标点击,web_link只能在上一个操作的上下文中执行
    web_image()模拟在一个图片上面的鼠标的点击,用法类似
    stepName:VuGen中树形视图中显示的名称,在自动事务处理中也可以用做事务的名称;
    List of Attributes:支持的属性有以下几种
    Text:超链接中的文字,必须精确匹配
    Frame:录制操作时所在的Frame的名称
    Ordinal:如果给出的属性筛选出的元素不唯一,那么VuGen使用此属性来指定其中的一个。如”SRC=abc.gif”,”Ordinal=3”标记的是SRC的值是”abc.gif”的第三张图片
    EXTRARES:分隔符,标记下一个参数是资源属性列表;
    LAST:属性列表结束的标记符;
    1. <span style="font-size:14px;">web_link("Test1",
    2.     "Text=Test1",
    3.     LAST );</span>
    复制代码
    日志输出函数
    lr_output_message():发送日志至运行过程中的Replay Log输出窗口,仅用在性能测试脚本调试阶段,调试完毕立即删除。不受运行时设置中的日志开关限制。(建议不要使用)
    lr_log_message():发送日志至Vuser的运行日志中,我们可在场景运行日志中看到该信息,一般用于判断成功事务的代码中,受运行时设置中的日志开关限制。(使用)
    lr_error_message():仅用在判断失败事务的代码中,在事务异常时打印错误日志,不受运行时设置中的日志开关限制。(错误时使用)
    字符串函数
    Lr_eval_string,返回参数的当前值。在LR中,对于参数替换是无法在除了操作函数以外直接使用参数的,必须将参数放入这个函数才能使用。
    1. <span style="font-size:14px;">lr_output_message("当前用户名为: %s", lr_eval_string("{username}"));</span>
    复制代码
    Lr_save_string,将程序中的常量或变量保存到参数中
    1. <span style="font-size:14px;">lr_save_string(“shanghai”,“city”);
    2. lr_eval_string(“welcome to {city}”);</span>
    复制代码
    Lr_save_int,将一个整数值保存在参数中
    1. <span style="font-size:14px;">int num = 5;
    2. lr_save_int(num*2,”parama1”);</span>
    复制代码
    Lr_save_datetime(const char*format,int offset,const char*name),将当前日期和时间或具有指定偏移的日期和时间保存在参数中
    Format:期望输出的日期格式
    Offset:表示时间的一些关键字常量,有DATE_NOW TIME_NOW ONE_DAY ONE_HOUR ONE_MIN可以单独使用,也可以联合使用
    Name:期望将时间保存到的参数名称
    lr_save_datetime(“%Y-%m-%d %H:-%M:-%S”,DATE_NOW+TIME_NOW,”times”);
    int lr_save_searched_string( const char *buffer, long buf_size, unsigned int occurrence, const char *search_string, int offset, unsigned int string_len, const char *parm_name );
    Lr_save_searched_string()函数在缓冲区中搜索字符串实例,并将该字符串实例保存在参数中。
    int sprintf( char *string_buffer, const char *format_string[, args] );格式化字符串
    int index = 56;
    1. <span style="font-size:14px;">char filename[64], *suffix = "txt";
    2. sprintf(filename,"log_%d.%s",index,suffix);
    3. lr_output_message("The new file name is %s",filename);//打印The new file name is log_56.txt</span>
    复制代码
    Int lr_convert_string_encoding(const char*sourceString,const char*fromEncoding,const char*toEncoding,const char*paramName);转换字符串编辑格式
    sourceString:被转换的源字符串
    fromEncoding:转换前的字符编码
    toEncoding:转换后的字符编码
    paramName:转换后的目标字符串
    1. <span style="font-size:14px;">lr_convert_string_encoding(lr_eval_string(“{message}”),LR_ENC_UTF8, LR_ENC_SYSTEM_LOCALE, "msg");  
    2. //将参数message里的内容从UTF8格式转成本地格式,存入msg参数中</span>
    复制代码
    字符串处理函数
    Strlen(str1)返回String的长度,不包括结束符NULL
    Strcmp(str1,str2) 比较两个字符串的ASCII码,str1>str2则返回1,str1=str2则返回0,str1<str2则返回-1
    Stricmp(str1,str2)  与Strcmp类似,只是会区分大小写比较两个字符串
    Strstr(str1,str2) 判断str2是否为str1的子串,如果是则返回Str2在Str1起始位置的索引,如果不是则返回null
    Strcat(str1,str2) 连接两个字符串,去掉str1后的结束符,将str2连接到str1字符串的末尾
    Strcpy(str1,str2)  把str2拷贝到str1中
    Strlwr()  将字符串转换成小写
    Strupr()  将字符串转换成大写
    1. <span style="font-size:14px;">char *file="c:\\temp";
    2. char *filename = "\\logfile.txt";
    3. char fullpath[256]="\0";
    4. lr_output_message("str的长度是:%d",strlen(file));
    5. strcpy(fullpath,file);
    6. lr_output_message("fullpath的内容:%s",fullpath);

    7. strcat(fullpath,filename);
    8. lr_output_message("fullpath的内容:%s",fullpath);
    9. 输出值:
    10. str的长度是:7
    11. fullpath的内容:c:\temp
    12. fullpath的内容:c:\temp\logfile.txt</span>
    复制代码

    Atoi()  将字符串首部字符串整数转换为整数类型

    Itoa()  将整形转化成字符串



    1. <span style="font-size:14px;"> int i;
    2. char *s = "7 dollars";
    3. i = atoi(s);
    4. lr_output_message("Price $%d", i);
    5. 输出值:
    6. Price $7</span>
    复制代码




    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-6 13:39 , Processed in 0.061779 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表